From 8a1bdd2fb865c3e0a8317e0a725d1c665be59baa Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Tue, 5 Mar 2013 12:46:20 -0700 Subject: [PATCH] execute: drop dead code MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit On several platforms, I noticed this compile warning: gcc -DHAVE_CONFIG_H -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1 -Wall -MT execute.o -MD -MP -MF .deps/execute.Tpo -c -o execute.o ../../gllib/execute.c ../../gllib/execute.c:64:1: warning: ‘nonintr_close’ defined but not used [-Wunused-function] ../../gllib/execute.c:77:1: warning: ‘nonintr_open’ defined but not used [-Wunused-function] The warning first surfaced when commit bdaf232 (Nov 2012) finally pointed out that these wrappers were no longer needed on posix-y systems, although the code has been unused since commit d629f6d (Jan 2009) which removed all use of open()/close() in favor of posix_spawn() instead. The only platform remaining where the wrappers are used (and no warnings issued) is mingw, but according to Microsoft's documentation [1] at the time of this patch, mingw's libc never fails open or close with EINTR; not to mention the fact that the documentation of the wrapper mentions it is primarily useful for SIGSTOP, a concept not present on mingw. [1]http://msdn.microsoft.com/en-us/library/z0kc8e3z%28v=vs.80%29.aspx * lib/execute.c (nonintr_close, nonintr_open): Delete. Signed-off-by: Eric Blake --- ChangeLog | 5 +++++ lib/execute.c | 36 ------------------------------------ 2 files changed, 5 insertions(+), 36 deletions(-) diff --git a/ChangeLog b/ChangeLog index 0d2715cd6..a76586388 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2013-03-05 Eric Blake + + execute: drop dead code + * lib/execute.c (nonintr_close, nonintr_open): Delete. + 2013-03-04 Paul Eggert non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop diff --git a/lib/execute.c b/lib/execute.c index 4f0dcc3e2..cf547fe9a 100644 --- a/lib/execute.c +++ b/lib/execute.c @@ -54,42 +54,6 @@ #undef close -#ifdef EINTR - -/* EINTR handling for close(), open(). - These functions can return -1/EINTR even though we don't have any - signal handlers set up, namely when we get interrupted via SIGSTOP. */ - -static int -nonintr_close (int fd) -{ - int retval; - - do - retval = close (fd); - while (retval < 0 && errno == EINTR); - - return retval; -} -#define close nonintr_close - -static int -nonintr_open (const char *pathname, int oflag, mode_t mode) -{ - int retval; - - do - retval = open (pathname, oflag, mode); - while (retval < 0 && errno == EINTR); - - return retval; -} -#undef open /* avoid warning on VMS */ -#define open nonintr_open - -#endif - - /* Execute a command, optionally redirecting any of the three standard file descriptors to /dev/null. Return its exit code. If it didn't terminate correctly, exit if exit_on_error is true, otherwise -- 2.11.0