]> code.delx.au - gnu-emacs/commitdiff
* w32proc.c: (sys_wait) Only wait for processes with fd<0.
authorChong Yidong <cyd@stupidchicken.com>
Sat, 4 Nov 2006 03:37:40 +0000 (03:37 +0000)
committerChong Yidong <cyd@stupidchicken.com>
Sat, 4 Nov 2006 03:37:40 +0000 (03:37 +0000)
  Others should be handled by sys_select instead. Fixes problems
  with (progn (start-process "" nil "ls") (call-process "ls"))

src/ChangeLog
src/w32proc.c

index 94e1e02f7f245f0f128099543be5975b1710637e..594c5dcd4c89b13ab395b87c5ff3450cb7441bf7 100644 (file)
@@ -1,3 +1,9 @@
+2006-10-27  Slawomir Nowaczyk  <slawek@cs.lth.se> (tiny change)
+
+       * w32proc.c: (sys_wait) Only wait for processes with fd<0.
+         Others should be handled by sys_select instead. Fixes problems
+         with (progn (start-process "" nil "ls") (call-process "ls"))
+
 2006-11-03  Giorgos Keramidas  <keramida@ceid.upatras.gr> (tiny change)
 
        * xmenu.c (Fmenu_bar_open): Declare variable before BLOCK_INPUT to
index 2949193101563d6ad62244471439a609fd7e9c52..7d27172781d2f16cb0a0ea115b99bfdf6935e471 100644 (file)
@@ -486,7 +486,8 @@ sys_wait (int *status)
     {
       for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--)
        /* some child_procs might be sockets; ignore them */
-       if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess)
+       if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess
+           && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
          {
            wait_hnd[nh] = cp->procinfo.hProcess;
            cps[nh] = cp;