X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fexecute.c;h=cfac1962dff3ed60182e06032ab591376eece4b4;hb=679b14d8851a364efdffbdf50d4aa43921762076;hp=add71634175daf006e235961bf7fa62c907eb8db;hpb=6d8d4e520be656b646a6f5cf7ebebfc31c178022;p=gnulib.git diff --git a/lib/execute.c b/lib/execute.c index add716341..cfac1962d 100644 --- a/lib/execute.c +++ b/lib/execute.c @@ -1,11 +1,11 @@ /* Creation of autonomous subprocesses. - Copyright (C) 2001-2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2001-2004, 2006-2008 Free Software Foundation, Inc. Written by Bruno Haible , 2001. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,13 +13,10 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +#include /* Specification. */ #include "execute.h" @@ -32,7 +29,6 @@ #include #include "error.h" -#include "exit.h" #include "fatal-signal.h" #include "wait-process.h" #include "gettext.h" @@ -48,20 +44,16 @@ #else /* Unix API. */ -# ifdef HAVE_POSIX_SPAWN +# if HAVE_POSIX_SPAWN # include # else -# ifdef HAVE_VFORK_H +# if HAVE_VFORK_H # include # endif # endif #endif -#ifndef HAVE_ENVIRON_DECL -extern char **environ; -#endif - #ifndef STDIN_FILENO # define STDIN_FILENO 0 #endif @@ -72,6 +64,11 @@ extern char **environ; # define STDERR_FILENO 2 #endif +/* The results of open() in this file are not used with fchdir, + therefore save some unnecessary work in fchdir.c. */ +#undef open +#undef close + #ifdef EINTR @@ -308,7 +305,7 @@ execute (const char *progname, unblock_fatal_signals (); } - return wait_subprocess (child, progname, NULL, ignore_sigpipe, null_stderr, + return wait_subprocess (child, progname, ignore_sigpipe, null_stderr, slave_process, exit_on_error); #endif