diff options
| author | Paul Eggert | 2014-05-26 20:46:30 -0700 |
|---|---|---|
| committer | Paul Eggert | 2014-05-26 20:46:30 -0700 |
| commit | ca0279be7037b3f8bf659ef8b073ea847d0d8553 (patch) | |
| tree | de126355f2188009eee679a4b36b38404838e941 /src/ChangeLog | |
| parent | 9aecbeb30847520f92ba273ec149c9ea5f289c51 (diff) | |
| download | emacs-ca0279be7037b3f8bf659ef8b073ea847d0d8553.tar.gz emacs-ca0279be7037b3f8bf659ef8b073ea847d0d8553.zip | |
Don't kill already-reaped process.
* process.c (process_send_signal): Fix race condition where a
subprocess was reaped by a signal handler between the check for
liveness and calling 'kill', which meant that Emacs could in
theory kill an innocent bystander process. Do the fix by blocking
SIGCHLD in a critical section that checks liveness before killing.
Fixes: debbugs:17561
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 247ec1c34b4..d2db6ccebd6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2014-05-27 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Don't kill already-reaped process (Bug#17561). | ||
| 4 | * process.c (process_send_signal): Fix race condition where a | ||
| 5 | subprocess was reaped by a signal handler between the check for | ||
| 6 | liveness and calling 'kill', which meant that Emacs could in | ||
| 7 | theory kill an innocent bystander process. Do the fix by blocking | ||
| 8 | SIGCHLD in a critical section that checks liveness before killing. | ||
| 9 | |||
| 1 | 2014-05-26 Eli Zaretskii <eliz@gnu.org> | 10 | 2014-05-26 Eli Zaretskii <eliz@gnu.org> |
| 2 | 11 | ||
| 3 | * w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if | 12 | * w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Define only if |