From b2af991a2ff353b27fd6f72785e0081a742fd88a Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 15 Feb 2013 21:37:29 +0200 Subject: [PATCH] Remove unneeded bits of commit 2013-02-15T09:41:31Z!eliz@gnu.org merged from release branch. --- src/ChangeLog | 11 +---------- src/w32proc.c | 18 +----------------- 2 files changed, 2 insertions(+), 27 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 82751e371df..6ff25edac50 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -8,16 +8,7 @@ when auto-save-timeout is less than 4. (Bug#13720) * w32proc.c (new_child): Free up to 2 slots of dead processes at a - time. Improve diagnostics in DebPrint. - (reader_thread): If cp->char_avail is NULL, set the FILE_AT_EOF - flag, so that sys_select could have a chance of noticing that this - process is dead, and call a SIGCHLD handler for it. Improve - diagnostics in DebPrint. - (reap_subprocess): Reset the FILE_AT_EOF flag set by - reader_thread. - (sys_select): Watch a process whose procinfo.hProcess is non-NULL - even if its char_avail is NULL. Allows to reap subprocesses that - were forcibly deleted by delete-process. (Bug#13546) + time. Improve diagnostics in DebPrint. (Bug#13546) * w32.c (sys_socket, sys_bind, sys_connect, sys_gethostname) (sys_gethostbyname, sys_getservbyname, sys_getpeername) diff --git a/src/w32proc.c b/src/w32proc.c index 8226564c88f..3f3e97c77a0 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -1017,17 +1017,6 @@ reader_thread (void *arg) if (cp->status == STATUS_READ_ERROR || !cp->char_avail) break; - if (!CHILD_ACTIVE (cp) && cp->procinfo.hProcess && cp->fd >= 0) - { - /* Somebody already called delete_child on this child, since - only delete_child zeroes out cp->char_avail. This means - no one will read from cp->fd and will not set the - FILE_AT_EOF flag, therefore preventing sys_select from - noticing that the process died. Set the flag here - instead. */ - fd_info[cp->fd].flags |= FILE_AT_EOF; - } - /* The name char_avail is a misnomer - it really just means the read-ahead has completed, whether successfully or not. */ if (!SetEvent (cp->char_avail)) @@ -1237,11 +1226,6 @@ reap_subprocess (child_process *cp) sys_read when the subprocess output is fully read. */ if (cp->fd < 0) delete_child (cp); - else - { - /* Reset the flag set by reader_thread. */ - fd_info[cp->fd].flags &= ~FILE_AT_EOF; - } } /* Wait for a child process specified by PID, or for any of our @@ -2067,7 +2051,7 @@ count_children: /* Some child_procs might be sockets; ignore them. Also some children may have died already, but we haven't finished reading the process output; ignore them too. */ - if ((CHILD_ACTIVE (cp) || cp->procinfo.hProcess) + if ((CHILD_ACTIVE (cp) && cp->procinfo.hProcess) && (cp->fd < 0 || (fd_info[cp->fd].flags & FILE_SEND_SIGCHLD) == 0 || (fd_info[cp->fd].flags & FILE_AT_EOF) != 0) -- 2.39.5