diff options
| author | Paul Eggert | 2013-06-23 11:18:47 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-06-23 11:18:47 -0700 |
| commit | c7041908b82205af2f812f9de782003d975f53da (patch) | |
| tree | 6d0d071cc0cd36cf172a18b92e5b1f41c3299b80 /src/process.h | |
| parent | 18bb9e21f3a95114d34947283e76a973692b526c (diff) | |
| download | emacs-c7041908b82205af2f812f9de782003d975f53da.tar.gz emacs-c7041908b82205af2f812f9de782003d975f53da.zip | |
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/process.h')
| -rw-r--r-- | src/process.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/process.h b/src/process.h index 9455df18beb..3f86e5f3945 100644 --- a/src/process.h +++ b/src/process.h | |||
| @@ -200,6 +200,8 @@ extern Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary; | |||
| 200 | 200 | ||
| 201 | /* Defined in callproc.c. */ | 201 | /* Defined in callproc.c. */ |
| 202 | 202 | ||
| 203 | extern void block_child_signal (void); | ||
| 204 | extern void unblock_child_signal (void); | ||
| 203 | extern void record_kill_process (struct Lisp_Process *); | 205 | extern void record_kill_process (struct Lisp_Process *); |
| 204 | 206 | ||
| 205 | /* Defined in process.c. */ | 207 | /* Defined in process.c. */ |