chiark / gitweb /
logind: remove redundant check in manager_new()
[elogind.git] / src / login / logind-dbus.c
index 651bd801ac7e99e722eaae30de3251a91711590f..bd0de33866c0a23ac3321bcdc77c59db8e25b67d 100644 (file)
@@ -939,7 +939,7 @@ static int method_terminate_session(sd_bus *bus, sd_bus_message *message, void *
         if (!session)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_SESSION, "No session '%s' known", name);
 
-        r = session_stop(session);
+        r = session_stop(session, true);
         if (r < 0)
                 return r;
 
@@ -964,7 +964,7 @@ static int method_terminate_user(sd_bus *bus, sd_bus_message *message, void *use
         if (!user)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_USER, "No user '%lu' known or logged in", (unsigned long) uid);
 
-        r = user_stop(user);
+        r = user_stop(user, true);
         if (r < 0)
                 return r;
 
@@ -989,7 +989,7 @@ static int method_terminate_seat(sd_bus *bus, sd_bus_message *message, void *use
         if (!seat)
                 return sd_bus_error_setf(error, BUS_ERROR_NO_SUCH_SEAT, "No seat '%s' known", name);
 
-        r = seat_stop_sessions(seat);
+        r = seat_stop_sessions(seat, true);
         if (r < 0)
                 return r;
 
@@ -2047,7 +2047,8 @@ int match_properties_changed(sd_bus *bus, sd_bus_message *message, void *userdat
 
         r = unit_name_from_dbus_path(path, &unit);
         if (r < 0)
-                return r;
+                /* quietly ignore non-units paths */
+                return r == -EINVAL ? 0 : r;
 
         session = hashmap_get(m->session_units, unit);
         if (session)
@@ -2362,7 +2363,6 @@ int manager_stop_unit(Manager *manager, const char *unit, sd_bus_error *error, c
 }
 
 int manager_abandon_scope(Manager *manager, const char *scope, sd_bus_error *error) {
-        _cleanup_bus_message_unref_ sd_bus_message *reply = NULL;
         _cleanup_free_ char *path = NULL;
         int r;