[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105398: * callproc.c (Fcall_process)
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105398: * callproc.c (Fcall_process): Avoid vfork clobbering |
Date: |
Wed, 03 Aug 2011 20:08:01 -0700 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105398
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Wed 2011-08-03 20:08:01 -0700
message:
* callproc.c (Fcall_process): Avoid vfork clobbering
the local vars buffer, coding_systems, current_dir.
modified:
src/ChangeLog
src/callproc.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-08-03 21:40:06 +0000
+++ b/src/ChangeLog 2011-08-04 03:08:01 +0000
@@ -1,3 +1,8 @@
+2011-08-04 Paul Eggert <address@hidden>
+
+ * callproc.c (Fcall_process): Avoid vfork clobbering
+ the local vars buffer, coding_systems, current_dir.
+
2011-08-03 Stefan Monnier <address@hidden>
* keymap.c (Fmake_composed_keymap): Move to subr.el.
=== modified file 'src/callproc.c'
--- a/src/callproc.c 2011-07-28 01:46:23 +0000
+++ b/src/callproc.c 2011-08-04 03:08:01 +0000
@@ -603,6 +603,9 @@
/* 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 @@
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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105398: * callproc.c (Fcall_process): Avoid vfork clobbering,
Paul Eggert <=