summaryrefslogtreecommitdiff
path: root/sysklogd/syslogd.c
diff options
context:
space:
mode:
authorEric Andersen2002-04-13 14:07:32 +0000
committerEric Andersen2002-04-13 14:07:32 +0000
commit4e116823f406a51daf1aeeaad538d613d2b51cc1 (patch)
tree181b302e0dcc1e163597041aa928e56cbba8362e /sysklogd/syslogd.c
parentfb24eb4f47b84a64a1fcc3cee7a6ecba1c7b8e58 (diff)
downloadbusybox-4e116823f406a51daf1aeeaad538d613d2b51cc1.zip
busybox-4e116823f406a51daf1aeeaad538d613d2b51cc1.tar.gz
Patch from Larry Doolittle to teach syslogd to not give up when errno is EINTR
Diffstat (limited to 'sysklogd/syslogd.c')
-rw-r--r--sysklogd/syslogd.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysklogd/syslogd.c b/sysklogd/syslogd.c
index ae5a1d0..e1e7137 100644
--- a/sysklogd/syslogd.c
+++ b/sysklogd/syslogd.c
@@ -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);
}
}