From d57b2e82e42d68555c92da2b19e07dbfdd74ab12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 3 Dec 2013 08:07:32 -0500 Subject: [PATCH] journal: fail silently in sd_j_sendv() if journal is unavailable "syslog(3) and sd_journal_print() may largely be used interchangeably functionality-wise" according to sd_journal_print(3). This socket should be always available except in rare circumstatances, and we don't random applications to fail on logging, so let's do what syslog did. The alternative of forcing all callers to do error handling for this rare case doesn't really have any benefits, since if they can't log there isn't much they can do anyway. https://bugzilla.redhat.com/show_bug.cgi?id=1023041 --- src/journal/journal-send.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/journal/journal-send.c b/src/journal/journal-send.c index d00e26f..d99ff0c 100644 --- a/src/journal/journal-send.c +++ b/src/journal/journal-send.c @@ -305,6 +305,10 @@ _public_ int sd_journal_sendv(const struct iovec *iov, int n) { if (k >= 0) return 0; + /* Fail silently if the journal is not available */ + if (errno == ENOENT) + return 0; + if (errno != EMSGSIZE && errno != ENOBUFS) return -errno;