[Ecls-list] ext:run-program always waits
Andie Kirkpatrick
spacebat at ubermonkey.net
Wed Oct 15 21:33:42 UTC 2008
Juan Jose Garcia-Ripoll wrote:
> On Wed, Oct 8, 2008 at 2:03 PM, Andie Kirkpatrick
>> ...
>> Unknown keyword :WAIT
>
> This was a problem with the 0.9l release which was reported and fixed
> here.
Thanks Juanjo, with that info I was able to add the symbol and have
ext:run-program not wait on the child process to return.
However the original example from the mailing list doesn't work (I've
changed the path to cat and added the :wait argument):
(let ((stream (ext:run-program "/bin/cat" nil :input :stream :output
:stream :wait nil)))
(dotimes (i 10)
(format t "Sending ~d~%" i)
(print i stream)
(format t "Received ~a~%" (read stream))))
I get "Sending 0" and then the program hangs.
Also in some cases I get segmentation violations, for example when
trying to run any of the examples here:
http://ecls.sourceforge.net/new-manual/re11.html
In the mkdir examples the directory is created before the segfault occurs.
Perhaps I ought to be building from CVS? It will be great when I can
spawn subprocesses reliably.
Cheers,
A.
More information about the ecl-devel
mailing list