changeset 73664:a525ba4c658b

* 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"))
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 04 Nov 2006 03:37:40 +0000
parents 5e9b94d5f593
children 8c5d7fd47312
files src/ChangeLog src/w32proc.c
diffstat 2 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Nov 04 03:28:27 2006 +0000
+++ b/src/ChangeLog	Sat Nov 04 03:37:40 2006 +0000
@@ -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
--- a/src/w32proc.c	Sat Nov 04 03:28:27 2006 +0000
+++ b/src/w32proc.c	Sat Nov 04 03:37:40 2006 +0000
@@ -486,7 +486,8 @@
     {
       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;