diff --git a/src/home/homed-home.c b/src/home/homed-home.c index e1379f51f5..09e86f37f3 100644 --- a/src/home/homed-home.c +++ b/src/home/homed-home.c @@ -2756,7 +2756,9 @@ int home_create_fifo(Home *h, bool please_suspend) { (void) sd_event_source_set_description(*ss, "acquire-ref"); - r = sd_event_source_set_priority(*ss, SD_EVENT_PRIORITY_IDLE-1); + /* We need to notice dropped refs before we process new bus requests (which + * might try to obtain new refs) */ + r = sd_event_source_set_priority(*ss, SD_EVENT_PRIORITY_NORMAL-10); if (r < 0) return r; diff --git a/src/home/homed-manager.c b/src/home/homed-manager.c index 0653eeef78..d4eaf1821b 100644 --- a/src/home/homed-manager.c +++ b/src/home/homed-manager.c @@ -991,7 +991,7 @@ static int manager_connect_bus(Manager *m) { if (r < 0) return log_error_errno(r, "Failed to request name: %m"); - r = sd_bus_attach_event(m->bus, m->event, 0); + r = sd_bus_attach_event(m->bus, m->event, SD_EVENT_PRIORITY_NORMAL); if (r < 0) return log_error_errno(r, "Failed to attach bus to event loop: %m");