emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r111023: * callproc.c (Fcall_process)


From: Paul Eggert
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111023: * callproc.c (Fcall_process): Don't misreport vfork failure.
Date: Wed, 28 Nov 2012 16:36:22 -0800
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111023
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Wed 2012-11-28 16:36:22 -0800
message:
  * callproc.c (Fcall_process): Don't misreport vfork failure.
modified:
  src/ChangeLog
  src/callproc.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-11-28 22:33:35 +0000
+++ b/src/ChangeLog     2012-11-29 00:36:22 +0000
@@ -1,3 +1,7 @@
+2012-11-29  Paul Eggert  <address@hidden>
+
+       * callproc.c (Fcall_process): Don't misreport vfork failure.
+
 2012-11-28  Paul Eggert  <address@hidden>
 
        * callproc.c (Fcall_process): Fix vfork portability problems.

=== modified file 'src/callproc.c'
--- a/src/callproc.c    2012-11-28 22:33:35 +0000
+++ b/src/callproc.c    2012-11-29 00:36:22 +0000
@@ -199,6 +199,7 @@
 #else
   pid_t pid;
 #endif
+  int vfork_errno;
   int fd_output = -1;
   struct coding_system process_coding; /* coding-system of process output */
   struct coding_system argument_coding;        /* coding-system of arguments */
@@ -627,6 +628,7 @@
        child_setup (filefd, fd1, fd_error, new_argv, 0, current_dir);
       }
 
+    vfork_errno = errno;
     unblock_input ();
 
 #endif /* not WINDOWSNT */
@@ -651,6 +653,7 @@
     {
       if (fd0 >= 0)
        emacs_close (fd0);
+      errno = vfork_errno;
       report_file_error ("Doing vfork", Qnil);
     }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]