diff options
| author | Chong Yidong | 2006-11-04 03:37:40 +0000 |
|---|---|---|
| committer | Chong Yidong | 2006-11-04 03:37:40 +0000 |
| commit | 3ac04ed074e0e4ebe8a937b49e685276ac30531b (patch) | |
| tree | 9a4f8766b89e87b5284bf79dba6090f8d95eca6d /src/w32proc.c | |
| parent | d6d1029d69a041a4e13fd862f545e1ca8353b5b1 (diff) | |
| download | emacs-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.c | 3 |
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; |