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 <eblake@redhat.com>
+2013-03-05 Eric Blake <eblake@redhat.com>
+
+ execute: drop dead code
+ * lib/execute.c (nonintr_close, nonintr_open): Delete.
+
2013-03-04 Paul Eggert <eggert@cs.ucla.edu>
non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
#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