diff options
author | Tom Gundersen <teg@jklm.no> | 2015-02-13 16:20:45 +0100 |
---|---|---|
committer | Tom Gundersen <teg@jklm.no> | 2015-02-13 16:32:02 +0100 |
commit | a8ba6cd15d3a5edf1f9fbb4fd08dc428c3939072 (patch) | |
tree | d182ace795264b6d608576a24762b4c22824c30e /src/libsystemd/sd-bus/bus-util.c | |
parent | 5f6cb091278906423f8b7e70c40131db7269916a (diff) |
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.
Diffstat (limited to 'src/libsystemd/sd-bus/bus-util.c')
-rw-r--r-- | src/libsystemd/sd-bus/bus-util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libsystemd/sd-bus/bus-util.c b/src/libsystemd/sd-bus/bus-util.c index c9d8713b25..52d4ebe611 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) |