On heavily loaded systems, some which are probably receiving a lot of
syslog traffic through the network, there's a (not well researched) problem with receiving messages on the syslog UDP port. For some reason recvfrom() results in EAGAIN. See http://bugs.debian.org/188194 and http://www.ussg.iu.edu/hypermail/linux/kernel/0209.1/0218.html
This commit is contained in:
parent
5c817e1d38
commit
0f9873bed4
@ -1141,13 +1141,13 @@ int main(argc, argv)
|
||||
*/
|
||||
printchopped(from, line, \
|
||||
i + 2, finet);
|
||||
} else if (i < 0 && errno != EINTR) {
|
||||
} else if (i < 0 && errno != EINTR && errno != EAGAIN) {
|
||||
dprintf("INET socket error: %d = %s.\n", \
|
||||
errno, strerror(errno));
|
||||
logerror("recvfrom inet");
|
||||
/* should be harmless now that we set
|
||||
* BSDCOMPAT on the socket */
|
||||
sleep(10);
|
||||
sleep(1);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user