From 4a9204fe04dee76dd067aaf1b078a777d1bb1a91 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 28 Nov 2012 16:36:22 -0800 Subject: [PATCH] * callproc.c (Fcall_process): Don't misreport vfork failure. --- src/ChangeLog | 4 ++++ src/callproc.c | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/ChangeLog b/src/ChangeLog index da15a612a19..b1c3b0025e1 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-11-29 Paul Eggert + + * callproc.c (Fcall_process): Don't misreport vfork failure. + 2012-11-28 Paul Eggert * callproc.c (Fcall_process): Fix vfork portability problems. diff --git a/src/callproc.c b/src/callproc.c index bba1c043b4c..167663a45c6 100644 --- a/src/callproc.c +++ b/src/callproc.c @@ -199,6 +199,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) #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 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) child_setup (filefd, fd1, fd_error, new_argv, 0, current_dir); } + vfork_errno = errno; unblock_input (); #endif /* not WINDOWSNT */ @@ -651,6 +653,7 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) { if (fd0 >= 0) emacs_close (fd0); + errno = vfork_errno; report_file_error ("Doing vfork", Qnil); } -- 2.39.5