summaryrefslogtreecommitdiff
path: root/src/libsystemd
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-11-25 19:54:18 +0100
committerLennart Poettering <lennart@poettering.net>2014-11-25 20:42:31 +0100
commitf9a458c66672992dd34ad0c7cfec3795b897d711 (patch)
treef17f5549e29c23c56a38e1ca19e022511085b37f /src/libsystemd
parent48eaba354e45942796c9c54617ff332d010a0404 (diff)
sd-bus: react properly to EOVERFLOW by generating a log message about dropped broadcast messages and proceeding
Diffstat (limited to 'src/libsystemd')
-rw-r--r--src/libsystemd/sd-bus/bus-kernel.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libsystemd/sd-bus/bus-kernel.c b/src/libsystemd/sd-bus/bus-kernel.c
index 0927d82d7..e03e4471c 100644
--- a/src/libsystemd/sd-bus/bus-kernel.c
+++ b/src/libsystemd/sd-bus/bus-kernel.c
@@ -1185,6 +1185,11 @@ int bus_kernel_read_message(sd_bus *bus, bool hint_priority, int64_t priority) {
if (errno == EAGAIN)
return 0;
+ if (errno == EOVERFLOW) {
+ log_debug("%s: kdbus reports %" PRIu64 " dropped broadcast messages, ignoring.", strna(bus->description), (uint64_t) recv.dropped_msgs);
+ return 0;
+ }
+
return -errno;
}