Commit 12d8b6ab authored by Paul Eggert's avatar Paul Eggert
Browse files

* process.c (create_process): Use 'volatile' to avoid vfork clobbering.

parent 7b808126
......@@ -8,6 +8,7 @@
(Fnetwork_interface_info): Fix pointer signedness.
(process_send_signal): Add cast to avoid pointer signedness problem.
(FIRST_PROC_DESC, IF_NON_BLOCKING_CONNECT): Remove unused macros.
(create_process): Use 'volatile' to avoid vfork clobbering.
 
2011-03-19 Paul Eggert <eggert@cs.ucla.edu>
 
......@@ -1912,8 +1912,7 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir)
/* child_setup must clobber environ on systems with true vfork.
Protect it from permanent change. */
char **save_environ = environ;
current_dir = ENCODE_FILE (current_dir);
volatile Lisp_Object encoded_current_dir = ENCODE_FILE (current_dir);
#ifndef WINDOWSNT
pid = vfork ();
......@@ -2054,13 +2053,13 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir)
child_setup_tty (xforkout);
#ifdef WINDOWSNT
pid = child_setup (xforkin, xforkout, xforkout,
new_argv, 1, current_dir);
new_argv, 1, encoded_current_dir);
#else /* not WINDOWSNT */
#ifdef FD_CLOEXEC
emacs_close (wait_child_setup[0]);
#endif
child_setup (xforkin, xforkout, xforkout,
new_argv, 1, current_dir);
new_argv, 1, encoded_current_dir);
#endif /* not WINDOWSNT */
}
environ = save_environ;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment