chiark / gitweb /
logind: add session controllers
[elogind.git] / src / login / logind-dbus.c
index 5decf8114c9c9f3f1e39ab71531e6cfd110cd3ec..113a2b73b6289f0a068f0cb17d0a1fd1d8194ef7 100644 (file)
@@ -2473,8 +2473,16 @@ DBusHandlerResult bus_message_filter(
                         goto finish;
                 }
 
+                /* drop all controllers owned by this name */
                 if (*old && !*new && (key = hashmap_remove(m->busnames, old))) {
+                        Session *session;
+                        Iterator i;
+
                         free(key);
+
+                        HASHMAP_FOREACH(session, m->sessions, i)
+                                if (session_is_controller(session, old))
+                                        session_drop_controller(session);
                 }
         }