I'm trying to use an external program interactively (that is, make it
run along with my Lisp application, get requests and send replies
etc.) this way:
(let ((process (sb-ext:run-program "/path/to/program" args
(write-line some-string (process-input process))
(read-line (process-output process)))
But I can't read anything from (process-output process) until the
process is running, and get (the whole) output only when it
terminates. Making FD-STREAMs of Unix pipes and passing them as input
and output parameters to RUN-PROGRAM leads to the same behavior.
Could you tell what am I doing wrong?
Thanks in advance,