]> code.delx.au - gnu-emacs/commit
Fix bug #12829 with aborts on MS-Windows when several child processes die.
authorEli Zaretskii <eliz@gnu.org>
Sat, 17 Nov 2012 16:46:45 +0000 (18:46 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 17 Nov 2012 16:46:45 +0000 (18:46 +0200)
commit22bae83fa8c432780fe20202a660aa8c84f3087a
treee58043c1a42681cc2ba63a20c5d85c84a1dbb6ad
parenta631d0e04747884855aa460cb903d1fd2ff106f4
Fix bug #12829 with aborts on MS-Windows when several child processes die.

 nt/inc/sys/wait.h: New file, with prototype of waitpid and
 definitions of macros it needs.
 nt/inc/ms-w32.h (wait): Don't define, 'wait' is not used anymore.
 (sys_wait): Remove prototype.
 nt/config.nt (HAVE_SYS_WAIT_H): Define to 1.

 src/w32proc.c (create_child): Don't clip the PID of the child
 process to fit into an Emacs integer, as this is no longer a
 restriction.
 (waitpid): Rename from sys_wait.  Emulate a Posix 'waitpid' by
 reaping only the process specified by PID argument, if that is
 positive.  Use PID instead of dead_child to know which process to
 reap.  Wait for the child to die only if WNOHANG is not in
 OPTIONS.
 (sys_select): Don't set dead_child.
 src/sysdep.c (wait_for_termination_1): Remove the WINDOWSNT portion,
 as it is no longer needed.
 src/process.c (waitpid, WUNTRACED) [!WNOHANG]: Remove definitions,
 no longer needed.
 (record_child_status_change): Remove the setting of
 record_at_most_one_child for the !WNOHANG case.
nt/ChangeLog
nt/config.nt
nt/inc/ms-w32.h
nt/inc/sys/wait.h [new file with mode: 0644]
src/ChangeLog
src/process.c
src/sysdep.c
src/w32proc.c