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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user