Merge pull request #34096 from YHNdnzj/logind-followup-256
logind: two follow-ups
This commit is contained in:
@@ -260,7 +260,7 @@ node /org/freedesktop/login1 {
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly b PreparingForSleep = ...;
|
||||
readonly (st) ScheduledShutdown = ...;
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
|
||||
readonly s DesignatedMaintenanceTime = '...';
|
||||
@org.freedesktop.DBus.Property.EmitsChangedSignal("false")
|
||||
readonly b Docked = ...;
|
||||
@@ -1616,12 +1616,12 @@ node /org/freedesktop/login1/session/1 {
|
||||
<function>CreateSessionWithPIDFD()</function> were added in version 255.</para>
|
||||
<para><function>Sleep()</function>,
|
||||
<function>CanSleep()</function>,
|
||||
<varname>SleepOperation</varname>,
|
||||
<varname>DesignatedMaintenanceTime</varname>, and
|
||||
<varname>SleepOperation</varname>, and
|
||||
<function>ListSessionsEx()</function> were added in version 256.</para>
|
||||
<para><varname>HandleSecureAttentionKey</varname>,
|
||||
<function>SecureAttentionKey()</function>,
|
||||
<varname>PreparingForShutdownWithMetadata</varname>, and
|
||||
<function>SecureAttentionKey()</function> were added in version 257.</para>
|
||||
<varname>DesignatedMaintenanceTime</varname> were added in version 257.</para>
|
||||
</refsect2>
|
||||
<refsect2>
|
||||
<title>Session Objects</title>
|
||||
|
||||
+13
-1
@@ -3750,7 +3750,7 @@ static const sd_bus_vtable manager_vtable[] = {
|
||||
SD_BUS_PROPERTY("PreparingForShutdownWithMetadata", "a{sv}", property_get_preparing_shutdown_with_metadata, 0, 0),
|
||||
SD_BUS_PROPERTY("PreparingForSleep", "b", property_get_preparing, 0, 0),
|
||||
SD_BUS_PROPERTY("ScheduledShutdown", "(st)", property_get_scheduled_shutdown, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
|
||||
SD_BUS_PROPERTY("DesignatedMaintenanceTime", "s", property_get_maintenance_time, 0, 0),
|
||||
SD_BUS_PROPERTY("DesignatedMaintenanceTime", "s", property_get_maintenance_time, 0, SD_BUS_VTABLE_PROPERTY_CONST),
|
||||
SD_BUS_PROPERTY("Docked", "b", property_get_docked, 0, 0),
|
||||
SD_BUS_PROPERTY("LidClosed", "b", property_get_lid_closed, 0, SD_BUS_VTABLE_PROPERTY_EMITS_CHANGE),
|
||||
SD_BUS_PROPERTY("OnExternalPower", "b", property_get_on_external_power, 0, 0),
|
||||
@@ -4353,6 +4353,7 @@ int manager_start_scope(
|
||||
const char *slice,
|
||||
const char *description,
|
||||
const char * const *requires,
|
||||
const char * const *wants,
|
||||
const char * const *extra_after,
|
||||
const char *requires_mounts_for,
|
||||
sd_bus_message *more_properties,
|
||||
@@ -4402,6 +4403,16 @@ int manager_start_scope(
|
||||
return r;
|
||||
}
|
||||
|
||||
STRV_FOREACH(i, wants) {
|
||||
r = sd_bus_message_append(m, "(sv)", "Wants", "as", 1, *i);
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
r = sd_bus_message_append(m, "(sv)", "After", "as", 1, *i);
|
||||
if (r < 0)
|
||||
return r;
|
||||
}
|
||||
|
||||
STRV_FOREACH(i, extra_after) {
|
||||
r = sd_bus_message_append(m, "(sv)", "After", "as", 1, *i);
|
||||
if (r < 0)
|
||||
@@ -4464,6 +4475,7 @@ int manager_start_scope(
|
||||
slice,
|
||||
description,
|
||||
requires,
|
||||
wants,
|
||||
extra_after,
|
||||
requires_mounts_for,
|
||||
more_properties,
|
||||
|
||||
@@ -32,6 +32,7 @@ int manager_start_scope(
|
||||
const char *slice,
|
||||
const char *description,
|
||||
const char * const *requires,
|
||||
const char * const *wants,
|
||||
const char * const *extra_after,
|
||||
const char *requires_mounts_for,
|
||||
sd_bus_message *more_properties,
|
||||
|
||||
@@ -749,15 +749,15 @@ static int session_start_scope(Session *s, sd_bus_message *properties, sd_bus_er
|
||||
s->user->slice,
|
||||
description,
|
||||
/* These should have been pulled in explicitly in user_start(). Just to be sure. */
|
||||
STRV_MAKE_CONST(s->user->runtime_dir_unit,
|
||||
SESSION_CLASS_WANTS_SERVICE_MANAGER(s->class) ? s->user->service_manager_unit : NULL),
|
||||
/* requires = */ STRV_MAKE_CONST(s->user->runtime_dir_unit),
|
||||
/* wants = */ STRV_MAKE_CONST(SESSION_CLASS_WANTS_SERVICE_MANAGER(s->class) ? s->user->service_manager_unit : NULL),
|
||||
/* We usually want to order session scopes after systemd-user-sessions.service
|
||||
* since the unit is used as login session barrier for unprivileged users. However
|
||||
* the barrier doesn't apply for root as sysadmin should always be able to log in
|
||||
* (and without waiting for any timeout to expire) in case something goes wrong
|
||||
* during the boot process. */
|
||||
STRV_MAKE_CONST("systemd-logind.service",
|
||||
SESSION_CLASS_IS_EARLY(s->class) ? NULL : "systemd-user-sessions.service"),
|
||||
/* extra_after = */ STRV_MAKE_CONST("systemd-logind.service",
|
||||
SESSION_CLASS_IS_EARLY(s->class) ? NULL : "systemd-user-sessions.service"),
|
||||
user_record_home_directory(s->user->user_record),
|
||||
properties,
|
||||
error,
|
||||
|
||||
Reference in New Issue
Block a user