[Ecls-list] run-program is asynchronous

Waldek Hebisch hebisch at math.uni.wroc.pl
Thu Nov 22 18:36:10 UTC 2007


Documentation of ext:run-program says:

   The design of this function is inspired by the function of same name
   in CMUCL and SBCL.

However, there is important difference: at least SBCL version by
default waits until the external program is finished.  AFAICS
in ecl the external command is run parallel to the Lisp process.

Consequently, simple uses like 'mkdir' example in ecl doc do not
work as naively expected: if Lisp wants to use freshly created directory
there is a race condition.  

For my use I will probably switch to ext:system, however, having a
waiting version of ext:run-program would be nicer.

Anyway, I would suggest either changing ext:system to allow
something like :wait parameter or clearly documenting that
ext:system is unable to wait for spawned program.

-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list