aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/sysdep.c9
2 files changed, 12 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a8be140ca0e..edd6924af50 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12012-12-07 Paul Eggert <eggert@cs.ucla.edu>
2
3 * sysdep.c (get_child_status): Abort on internal error (Bug#13086).
4 This will cause a production Emacs to dump core instead of
5 infinite-looping.
6
12012-12-07 Dmitry Antipov <dmantipov@yandex.ru> 72012-12-07 Dmitry Antipov <dmantipov@yandex.ru>
2 8
3 * frame.c (make_frame): Do not set window's buffer to t. 9 * frame.c (make_frame): Do not set window's buffer to t.
diff --git a/src/sysdep.c b/src/sysdep.c
index 7068a4f0977..9c904850401 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -289,9 +289,12 @@ get_child_status (pid_t child, int *status, int options, bool interruptible)
289 289
290 while ((pid = waitpid (child, status, options)) < 0) 290 while ((pid = waitpid (child, status, options)) < 0)
291 { 291 {
292 /* CHILD must be a child process that has not been reaped, and 292 /* Check that CHILD is a child process that has not been reaped,
293 STATUS and OPTIONS must be valid. */ 293 and that STATUS and OPTIONS are valid. Otherwise abort,
294 eassert (errno == EINTR); 294 as continuing after this internal error could cause Emacs to
295 become confused and kill innocent-victim processes. */
296 if (errno != EINTR)
297 emacs_abort ();
295 298
296 /* Note: the MS-Windows emulation of waitpid calls QUIT 299 /* Note: the MS-Windows emulation of waitpid calls QUIT
297 internally. */ 300 internally. */