if (sendmsg(s->syslog_fd, &msghdr, MSG_NOSIGNAL) >= 0)
return;
+ /* The socket is full? I guess the syslog implementation is
+ * too slow, and we shouldn't wait for that... */
+ if (errno == EAGAIN)
+ return;
+
if (ucred && errno == ESRCH) {
struct ucred u;
if (sendmsg(s->syslog_fd, &msghdr, MSG_NOSIGNAL) >= 0)
return;
+
+ if (errno == EAGAIN)
+ return;
}
log_debug("Failed to forward syslog message: %m");