I'm not sure if there's something I'm missing, but I'm trying to write a script that writes to a subprocess' stdin and then reads its stdout. The program being executed (via 'subprocess') is this C program:
/* test.c */ #include <stdio.h> int main() { int d; printf("Hello World!"); scanf("%d", &d); printf("\nDone %d\n", d); return 0; } My Racket script is: #lang racket (define-values (p stdout stdin stderr) (subprocess #f #f #f "./test")) (display "123\n" stdin) (port->string stdout) And it hangs on reading stdout, and (char-ready? stdout) produces #f. *********************************** The following program that doesn't have the scanf doesn't cause the Racket script to hang: #include <stdio.h> int main() { int d; printf("Hello World!"); return 0; } produces "Hello World!" when the same Racket program above is run. This is on Mac OS X Lion. I compile the C program with "gcc test.c -o test". I appreciate any help! --- nadeem _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users