summaryrefslogtreecommitdiff
path: root/src/process.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-12-05 23:31:58 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2012-12-05 23:31:58 -0800
commit35fb8050457a0edc6a09f38fb1dd84a9c7732352 (patch)
tree563dbd821a3efc83e6ad71c7f6a0dc21f26c8c5b /src/process.h
parent565212e5983cdcc478ed34bcdbd63f154e5e418f (diff)
downloademacs-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.h6
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);