[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