emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111258: Don't reraise SIGCHLD, as th


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111258: Don't reraise SIGCHLD, as that can now lose.
Date: Mon, 17 Dec 2012 09:51:25 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111258
fixes bug: http://debbugs.gnu.org/13192
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Mon 2012-12-17 09:51:25 -0800
message:
  Don't reraise SIGCHLD, as that can now lose.
  
  With the 2012-12-03 fix for Bug#12980 in place, an old workaround
  for some of that bug's symptoms can now cause Emacs to abort.
  Remove the workaround.
  * process.c (wait_reading_process_output): Don't reraise SIGCHLD.
  The bug that caused SIGCHLD to get lost has been fixed, and the
  workaround for it can now cause Emacs to abort.
modified:
  src/ChangeLog
  src/process.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-12-16 22:53:28 +0000
+++ b/src/ChangeLog     2012-12-17 17:51:25 +0000
@@ -1,3 +1,13 @@
+2012-12-17  Paul Eggert  <address@hidden>
+
+       Don't reraise SIGCHLD, as that can now lose (Bug#13192).
+       With the 2012-12-03 fix for Bug#12980 in place, an old workaround
+       for some of that bug's symptoms can now cause Emacs to abort.
+       Remove the workaround.
+       * process.c (wait_reading_process_output): Don't reraise SIGCHLD.
+       The bug that caused SIGCHLD to get lost has been fixed, and the
+       workaround for it can now cause Emacs to abort.
+
 2012-12-16  Paul Eggert  <address@hidden>
 
        * sysdep.c (emacs_abort): Bump backtrace size to 40.

=== modified file 'src/process.c'
--- a/src/process.c     2012-12-08 02:30:51 +0000
+++ b/src/process.c     2012-12-17 17:51:25 +0000
@@ -4773,11 +4773,7 @@
                 Therefore, if we get an error reading and errno =
                 EIO, just continue, because the child process has
                 exited and should clean itself up soon (e.g. when we
-                get a SIGCHLD).
-
-                However, it has been known to happen that the SIGCHLD
-                got lost.  So raise the signal again just in case.
-                It can't hurt.  */
+                get a SIGCHLD).  */
              else if (nread == -1 && errno == EIO)
                {
                  struct Lisp_Process *p = XPROCESS (proc);
@@ -4795,8 +4791,6 @@
                      p->tick = ++process_tick;
                      pset_status (p, Qfailed);
                    }
-                  else
-                   handle_child_signal (SIGCHLD);
                }
 #endif /* HAVE_PTYS */
              /* If we can detect process termination, don't consider the


reply via email to

[Prev in Thread] Current Thread [Next in Thread]