<div>Can you try the patch below? Seems this change did not get committed -- I am surprised, though, why things seemed to work suddenly here.</div><div><br></div><div>Juanjo<br><div><br></div><div><div>diff --git a/src/c/main.d b/src/c/main.d</div>

<div>index 6d0df25..e56d29d 100644</div><div>--- a/src/c/main.d</div><div>+++ b/src/c/main.d</div><div>@@ -72,7 +72,7 @@ static cl_fixnum option_values[ECL_OPT_LIMIT+1] = {</div><div> <span class="Apple-tab-span" style="white-space:pre">   </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_SIGILL */</div>

<div> <span class="Apple-tab-span" style="white-space:pre">     </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_SIGBUS */</div><div> <span class="Apple-tab-span" style="white-space:pre">   </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_SIGPIPE */</div>

<div>-<span class="Apple-tab-span" style="white-space:pre">     </span>0,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_SIGCHLD */</div><div>+<span class="Apple-tab-span" style="white-space:pre">  </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_SIGCHLD */</div>

<div> <span class="Apple-tab-span" style="white-space:pre">     </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_TRAP_INTERRUPT_SIGNAL */</div><div> <span class="Apple-tab-span" style="white-space:pre"> </span>1,<span class="Apple-tab-span" style="white-space:pre">          </span>/* ECL_OPT_SIGNAL_HANDLING_THREAD */</div>

<div> <span class="Apple-tab-span" style="white-space:pre">     </span>128,<span class="Apple-tab-span" style="white-space:pre">                </span>/* ECL_OPT_SIGNAL_QUEUE_SIZE */</div><div><br></div><br><div class="gmail_quote">On Sun, Feb 27, 2011 at 10:59 PM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com">juanjose.garciaripoll@googlemail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Sun, Feb 27, 2011 at 10:34 PM, Rupert Swarbrick <span dir="ltr"><<a href="mailto:rswarbrick@gmail.com" target="_blank">rswarbrick@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>Juan Jose Garcia-Ripoll<br>
<<a href="mailto:juanjose.garciaripoll@googlemail.com" target="_blank">juanjose.garciaripoll@googlemail.com</a>> writes:<br>
</div><div>> On Sun, Feb 27, 2011 at 8:59 PM, Rupert Swarbrick <<a href="mailto:rswarbrick@gmail.com" target="_blank">rswarbrick@gmail.com</a>>wrote:<br>
><br>
>><br>
>> Hmm, I'm not sure it does actually :-( I've just compiled the latest<br>
>> code from git (0df960178922fb0dba752356e59d6194975f333e) and with the<br>
>> following definition:<br>
>><br>
><br>
> This is not the latest. Last two patches are shown below. It may take time<br>
> for changes to propagate.<br>
><br>
> Juanjo<br>
><br>
> $ git log -2<br>
> commit 0df960178922fb0dba752356e59d6194975f333e<br>
> Author: Juan Jose Garcia Ripoll <<a href="mailto:jjgarcia@users.sourceforge.net" target="_blank">jjgarcia@users.sourceforge.net</a>><br>
> Date:   Sun Feb 27 17:02:18 2011 +0100<br>
><br>
>     EXT:EXTERNAL-PROCESS-WAIT ignores -1 on Windows platforms.<br>
><br>
</div>...<br>
<br>
Thank you very much for the reply, but isn't this the commit I've got?</blockquote></div><div><br></div><div><br></div></div></div>Sorry for my temporary dyslexia, but did you rebuild from scratch? What operating system are you using? I modified your test to look as I show below and everything works fine. See the output on a Linux box, without zombies:<div>


<br></div><div><div>$ ecl -norc -load foo.lsp -eval '(quit)'</div><div>;;; Loading "/home/jjgarcia/build/ecl/foo.lsp"</div><div>Read line</div><div>test</div><div>21264 pts/0    S+     0:00 ecl -norc -load foo.lsp -eval (quit)</div>


<div>21268 pts/0    S+     0:00 sh -c ps awx|grep foo</div><div>21270 pts/0    S+     0:00 grep foo</div></div><div><br></div><div>foo.lsp:</div><div><br></div><div><div>(with-open-file (s "foo.sh" :direction :output                                  </div>


<div>                   :if-exists :supersede)                                       </div><div>  (format s "#~~/bin/sh                                                         </div><div>read x                                                                          </div>


<div>echo Read line                                                                  </div><div>echo $x                                                                         </div><div>")                                                                              </div>


<div>  (ext:system "chmod +x foo.sh"))                                               </div><div class="im"><div>                                                                                </div><div>(defun string>program (str program &rest args)                                  </div>


<div> "Run program reading from STR as stdin."                                       </div><div> #+sbcl                                                                         </div><div> (with-input-from-string (s str)                                                </div>


<div>   (sb-ext:run-program program args :input s)                                   </div><div>   (values))                                                                    </div><div> #+ecl                                                                          </div>


<div> (let* ((p (nth-value 2                                                         </div><div>                      (ext:run-program program args                             </div></div><div>                                       :wait nil :error nil :output t           </div>

<div class="im">
<div>                                       :input :stream)))                        </div><div>        (in (si:external-process-input p)))                                     </div><div>   (princ str in) (princ #\Newline in) (close in)                               </div>


<div>   (values)))                                                                   </div><div>                                                                                </div></div><div>(string>program "test" "./foo.sh")                                              </div>


<div>(ext:system "ps awx|grep foo")                                                  </div><div class="im"><div>                                  </div><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br>


<a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>
</div></div>
</blockquote></div><br><br clear="all"><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div></div>