return 0;
}
-int manager_dispatch_delayed(Manager *manager, bool timeout) {
+static int manager_inhibit_timeout_handler(
+ sd_event_source *s,
+ uint64_t usec,
+ void *userdata) {
_cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL;
Inhibitor *offending = NULL;
+ Manager *manager = userdata;
int r;
assert(manager);
+ assert(manager->inhibit_timeout_source == s);
if (manager->action_what == 0 || manager->action_job)
return 0;
if (manager_is_inhibited(manager, manager->action_what, INHIBIT_DELAY, NULL, false, false, 0, &offending)) {
_cleanup_free_ char *comm = NULL, *u = NULL;
- if (!timeout)
- return 0;
-
(void) get_process_comm(offending->pid, &comm);
u = uid_to_name(offending->uid);
manager->action_unit = NULL;
manager->action_what = 0;
- return r;
}
- return 1;
-}
-
-static int manager_inhibit_timeout_handler(
- sd_event_source *s,
- uint64_t usec,
- void *userdata) {
-
- Manager *manager = userdata;
- int r;
-
- assert(manager);
- assert(manager->inhibit_timeout_source == s);
-
- r = manager_dispatch_delayed(manager, true);
- return (r < 0) ? r : 0;
+ return 0;
}
static int delay_shutdown_or_sleep(
m->scheduled_shutdown_type = NULL;
m->scheduled_shutdown_timeout = 0;
- if (m->unlink_nologin) {
- (void) unlink("/run/nologin");
- m->unlink_nologin = false;
- }
-
if (cancelled) {
_cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL;
const char *tty = NULL;
session_jobs_reply(session, unit, result);
session_save(session);
- user_save(session->user);
session_add_to_gc_queue(session);
}