35 lines
1.3 KiB
Diff
35 lines
1.3 KiB
Diff
|
From 9c6964b0a23852353aaa0ca0c30586c3f19502b7 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||
|
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;
|
||
|
|