diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-05 23:31:58 -0800 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2012-12-05 23:31:58 -0800 |
commit | 35fb8050457a0edc6a09f38fb1dd84a9c7732352 (patch) | |
tree | 563dbd821a3efc83e6ad71c7f6a0dc21f26c8c5b /src/process.h | |
parent | 565212e5983cdcc478ed34bcdbd63f154e5e418f (diff) | |
download | emacs-35fb8050457a0edc6a09f38fb1dd84a9c7732352.tar.gz |
Fix a recently-introduced delete-process race condition.
* callproc.c, process.h (record_kill_process):
New function, containing part of the old call_process_kill.
(call_process_kill): Use it.
This does not change call_process_kill's behavior.
* process.c (Fdelete_process): Use record_kill_process to fix a
race condition that could cause Emacs to lose track of a child.
Diffstat (limited to 'src/process.h')
-rw-r--r-- | src/process.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/process.h b/src/process.h index 4fa22747ca9..a0521689abf 100644 --- a/src/process.h +++ b/src/process.h @@ -198,6 +198,12 @@ extern Lisp_Object QCspeed; extern Lisp_Object QCbytesize, QCstopbits, QCparity, Qodd, Qeven; extern Lisp_Object QCflowcontrol, Qhw, Qsw, QCsummary; +/* Defined in callproc.c. */ + +extern void record_kill_process (struct Lisp_Process *); + +/* Defined in process.c. */ + extern Lisp_Object list_system_processes (void); extern Lisp_Object system_process_attributes (Lisp_Object); |