Patch from Larry Doolittle to teach syslogd to not give up when errno is EINTR
authorEric Andersen <andersen@codepoet.org>
Sat, 13 Apr 2002 14:07:32 +0000 (14:07 -0000)
committerEric Andersen <andersen@codepoet.org>
Sat, 13 Apr 2002 14:07:32 +0000 (14:07 -0000)
sysklogd/syslogd.c

index ae5a1d0badba49b5d57ce0c51f27bf961ac3306a..e1e71378c63a2e78e691fde1fe100fc81f7da21b 100644 (file)
@@ -361,8 +361,10 @@ static const int IOV_COUNT = 2;
                v->iov_base = msg;
                v->iov_len = strlen(msg);          
 
+writev_retry:
                if ( -1 == writev(remotefd,iov, IOV_COUNT)){
-                       error_msg_and_die("syslogd: cannot write to remote file handle on " 
+                       if (errno == EINTR) goto writev_retry;
+                       error_msg_and_die("syslogd: cannot write to remote file handle on"
                                        "%s:%d",RemoteHost,RemotePort);
                }
        }