From a8ba6cd15d3a5edf1f9fbb4fd08dc428c3939072 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Fri, 13 Feb 2015 16:20:45 +0100 Subject: [PATCH] exit-on-idle: only exit if actually idle sd_event_wait() returning 0 usually means that it timed out, which means it must have been idle. However, sd_event_wait() may return 0 in case an event was triggered but it turned out there was nothing to do. Make the check for idle explicit to avoid this edge-case. --- src/libsystemd/sd-bus/bus-util.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libsystemd/sd-bus/bus-util.c b/src/libsystemd/sd-bus/bus-util.c index c9d8713b2..52d4ebe61 100644 --- a/src/libsystemd/sd-bus/bus-util.c +++ b/src/libsystemd/sd-bus/bus-util.c @@ -123,7 +123,7 @@ int bus_event_loop_with_idle( if (r < 0) return r; - if (r == 0 && !exiting) { + if (r == 0 && !exiting && idle) { r = sd_bus_try_close(bus); if (r == -EBUSY) -- 2.30.2