aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32proc.c
diff options
context:
space:
mode:
authorChong Yidong2006-11-04 03:37:40 +0000
committerChong Yidong2006-11-04 03:37:40 +0000
commit3ac04ed074e0e4ebe8a937b49e685276ac30531b (patch)
tree9a4f8766b89e87b5284bf79dba6090f8d95eca6d /src/w32proc.c
parentd6d1029d69a041a4e13fd862f545e1ca8353b5b1 (diff)
downloademacs-3ac04ed074e0e4ebe8a937b49e685276ac30531b.tar.gz
emacs-3ac04ed074e0e4ebe8a937b49e685276ac30531b.zip
* 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"))
Diffstat (limited to 'src/w32proc.c')
-rw-r--r--src/w32proc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/w32proc.c b/src/w32proc.c
index 29491931015..7d27172781d 100644
--- a/src/w32proc.c
+++ b/src/w32proc.c
@@ -486,7 +486,8 @@ sys_wait (int *status)
486 { 486 {
487 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--) 487 for (cp = child_procs+(child_proc_count-1); cp >= child_procs; cp--)
488 /* some child_procs might be sockets; ignore them */ 488 /* some child_procs might be sockets; ignore them */
489 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess) 489 if (CHILD_ACTIVE (cp) && cp->procinfo.hProcess
490 && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0))
490 { 491 {
491 wait_hnd[nh] = cp->procinfo.hProcess; 492 wait_hnd[nh] = cp->procinfo.hProcess;
492 cps[nh] = cp; 493 cps[nh] = cp;