diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2013-06-23 11:18:47 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2013-06-23 11:18:47 -0700 |
commit | c7041908b82205af2f812f9de782003d975f53da (patch) | |
tree | 6d0d071cc0cd36cf172a18b92e5b1f41c3299b80 /src/callproc.c | |
parent | 18bb9e21f3a95114d34947283e76a973692b526c (diff) | |
download | emacs-c7041908b82205af2f812f9de782003d975f53da.tar.gz |
Try to avoid malloc SEGVs on Cygwin.
* callproc.c, process.h (block_child_signal, unblock_child_signal):
Now extern.
* emacs.c (main): Catch SIGCHLD just before initializing gfilenotify.
* process.c (catch_child_signal): Block SIGCHLD while futzing with
the SIGCHLD handler, since the code is not atomic and (due to glib)
signals may be arriving now.
* sysdep.c (init_signals): Do not catch child signals here;
'main' now does that later, at a safer time.
Fixes: debbugs:14569
Diffstat (limited to 'src/callproc.c')
-rw-r--r-- | src/callproc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/callproc.c b/src/callproc.c index 745d58c45f4..f0aa8222342 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -84,7 +84,7 @@ static int synch_process_fd; /* Block SIGCHLD. */ -static void +void block_child_signal (void) { sigset_t blocked; @@ -95,7 +95,7 @@ block_child_signal (void) /* Unblock SIGCHLD. */ -static void +void unblock_child_signal (void) { pthread_sigmask (SIG_SETMASK, &empty_mask, 0); |