Remove unneeded bits of commit 2013-02-15T09:41:31Z!eliz@gnu.org merged from release...
authorEli Zaretskii <eliz@gnu.org>
Fri, 15 Feb 2013 19:37:29 +0000 (21:37 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 15 Feb 2013 19:37:29 +0000 (21:37 +0200)
src/ChangeLog
src/w32proc.c

index 82751e3..6ff25ed 100644 (file)
@@ -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)
index 8226564..3f3e97c 100644 (file)
@@ -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)