[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Communication with C processes



I tried to establish communications between a Lisp process by
trying something like the following:

(let ((bi-directional-stream (excl:run-shell-command
                             "a.out" :input :stream
                             :output :stream :wait nil)))
    ........
    ........                                      

    (read bi-directional-stream)

    .........

    .,.......

    (format bi-directional-stream "..." ...)

    ........)


with a C program that looks something like the following.

main
{

  ....
  ....
  
  printf(....);

  ...
  ...

  gets(...);

}


I was easily able to read the output from the C program, but when I tried
writing to it the c process just hanged.  Is there something I'm doing 
wrong with lisp or is it a fault in the C program?

Thanks.

--John S. Lewocz