copy, tee: assume EINTR is always defined: remove #ifdefs
authorJim Meyering <meyering@redhat.com>
Sun, 30 Jan 2011 15:12:56 +0000 (16:12 +0100)
committerJim Meyering <meyering@redhat.com>
Sun, 30 Jan 2011 19:44:12 +0000 (20:44 +0100)
Don't use "#ifdef EINTR".  dd.c has been doing that since 2004.
* src/copy.c (sparse_copy): Remove #ifdef...#endif around EINTR use.
* src/tee.c (tee_files): Remove #ifdef...#endif around EINTR use.
If we need it, add something like this in system.h:
/* When EINTR is not defined, define it to an improbable value
   so that each use does not have to be #ifdef'd.  */
 #ifndef EINTR
 # define EINTR 999988
 #endif

src/copy.c
src/tee.c

index 96bb35b..4e73e1b 100644 (file)
@@ -160,10 +160,8 @@ sparse_copy (int src_fd, int dest_fd, char *buf, size_t buf_size,
       ssize_t n_read = read (src_fd, buf, MIN (max_n_read, buf_size));
       if (n_read < 0)
         {
-#ifdef EINTR
           if (errno == EINTR)
             continue;
-#endif
           error (0, errno, _("reading %s"), quote (src_name));
           return false;
         }
index 0499442..0518b07 100644 (file)
--- a/src/tee.c
+++ b/src/tee.c
@@ -183,10 +183,8 @@ tee_files (int nfiles, const char **files)
   while (1)
     {
       bytes_read = read (0, buffer, sizeof buffer);
-#ifdef EINTR
       if (bytes_read < 0 && errno == EINTR)
         continue;
-#endif
       if (bytes_read <= 0)
         break;