[Ecls-list] Issue with ext:system on MacOS (ECHILD)

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Apr 19 19:44:29 UTC 2011


On Thu, Apr 14, 2011 at 12:42 AM, Sylvain Ageneau <ageneau at gmail.com> wrote:

> I'm compiling ecl with:
> ABI=32 CFLAGS="-m32" LDFLAGS="-m32" ./configure --prefix=/opt/ecl/tmp
> --enable-threads=yes
>
> This test fails about 50% of the time:
>
> (defun safe-system (string)
> ;;  (cmpnote "Invoking external command:~%  ~A~%" string)
>  (let ((result (ext:system string)))
>   (unless (zerop result)
>     (cerror "Continues anyway."
>             "(SYSTEM ~S) returned non-zero value ~D"
>             string result))
>   result))
>
> (safe-system "sh -c 'echo OK'")
> (si:quit 0)


OS X's system() routine seems to be broken. Our SIGCHLD handler consumes the
return status of the process it starts and thus it fails. I have fixed this
by removing all uses of system(), replacing them with EXT:RUN-PROCESS

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20110419/ba1829d6/attachment.html>


More information about the ecl-devel mailing list