* callproc.c (Fcall_process): Avoid vfork clobbering
the local vars buffer, coding_systems, current_dir.
This commit is contained in:
parent
19fe0c2e44
commit
c74e9d8682
2 changed files with 11 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* callproc.c (Fcall_process): Avoid vfork clobbering
|
||||
the local vars buffer, coding_systems, current_dir.
|
||||
|
||||
2011-08-03 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* keymap.c (Fmake_composed_keymap): Move to subr.el.
|
||||
|
|
|
@ -603,6 +603,9 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
|
|||
|
||||
/* vfork, and prevent local vars from being clobbered by the vfork. */
|
||||
{
|
||||
Lisp_Object volatile buffer_volatile = buffer;
|
||||
Lisp_Object volatile coding_systems_volatile = coding_systems;
|
||||
Lisp_Object volatile current_dir_volatile = current_dir;
|
||||
int volatile fd1_volatile = fd1;
|
||||
int volatile fd_error_volatile = fd_error;
|
||||
int volatile fd_output_volatile = fd_output;
|
||||
|
@ -611,6 +614,9 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */)
|
|||
|
||||
pid = vfork ();
|
||||
|
||||
buffer = buffer_volatile;
|
||||
coding_systems = coding_systems_volatile;
|
||||
current_dir = current_dir_volatile;
|
||||
fd1 = fd1_volatile;
|
||||
fd_error = fd_error_volatile;
|
||||
fd_output = fd_output_volatile;
|
||||
|
|
Loading…
Add table
Reference in a new issue