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.
This commit is contained in:
Tom Gundersen
2015-02-13 16:32:02 +01:00
parent 5f6cb09127
commit a8ba6cd15d
+1 -1
View File
@@ -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)