Mercurial > emacs
comparison src/w32proc.c @ 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 | fd4e9d08fa35 |
children | 3d45362f1d38 02cf29720f31 |
comparison
equal
deleted
inserted
replaced
73663:5e9b94d5f593 | 73664:a525ba4c658b |
---|---|
484 } | 484 } |
485 else | 485 else |
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; |
493 nh++; | 494 nh++; |
494 } | 495 } |