diff --git a/src/shared/bus-util.c b/src/shared/bus-util.c index 30f9602b1e..216c16f039 100644 --- a/src/shared/bus-util.c +++ b/src/shared/bus-util.c @@ -122,7 +122,9 @@ int bus_event_loop_with_idle( if (r == SD_EVENT_FINISHED) break; - if (check_idle) + if (sd_bus_pending_method_calls(bus) > 0) + idle = false; + else if (check_idle) idle = check_idle(userdata); else idle = true;