sd_bus_error *error) {
Manager *m = userdata;
- dual_timestamp t;
+ dual_timestamp t = DUAL_TIMESTAMP_NULL;
assert(bus);
assert(reply);
assert(reply);
assert(m);
- return sd_bus_message_append(reply, "b", manager_is_docked_or_multiple_displays(m));
+ return sd_bus_message_append(reply, "b", manager_is_docked_or_external_displays(m));
}
static int method_get_session(sd_bus_message *message, void *userdata, sd_bus_error *error) {
}
manager_get_session_by_pid(m, leader, &session);
+ if (!session && vtnr > 0 && vtnr < m->seat0->position_count)
+ session = m->seat0->positions[vtnr];
if (session) {
_cleanup_free_ char *path = NULL;
_cleanup_close_ int fifo_fd = -1;
if (!t)
return -ENOMEM;
- write_string_file(t, "change");
+ write_string_file(t, "change", WRITE_STRING_FILE_CREATE);
}
return 0;
log_info("Creating /run/nologin, blocking further logins...");
- r = write_string_file_atomic("/run/nologin", "System is going down.");
+ r = write_string_file("/run/nologin", "System is going down.", WRITE_STRING_FILE_ATOMIC);
if (r < 0)
log_error_errno(r, "Failed to create /run/nologin: %m");
else