chiark / gitweb /
cgroup: kill processes even in cgroups that aren't realized
[elogind.git] / src / logind.h
index 8c9bbf10802ee9803303f0fab250c91b0a7354fd..10b75273fa07f3d91475da2b9f10a2c0fec45d46 100644 (file)
  *
  * spawn user systemd
  * direct client API
- * add configuration file
- * D-Bus method: AttachDevices(seat, devices[]);
- * D-Bus method: SetLinger(user, bool b);
+ *
+ * udev:
+ * drop redundant udev_device_get_is_initialized() use as soon as libudev is fixed
+ * properly escape/remove : and . from seat names in udev rules
+ * use device_has_tag() as soon as it is available
+ * trigger based on libudev if available
+ * enumerate recursively with libudev when triggering
+ * use sysfs in device hash table, not sysname, when fb driver is fixed
+ * fix ACL enumeration as soon as libudev can properly handle two match tags when enumerating
  *
  * non-local X11 server
  * reboot/shutdown halt management
@@ -78,7 +84,7 @@ struct Manager {
         Seat *vtconsole;
 
         char *cgroup_path;
-        char **controllers;
+        char **controllers, **reset_controllers;
 
         char **kill_only_users, **kill_exclude_users;
 
@@ -87,7 +93,7 @@ struct Manager {
         unsigned long session_counter;
 
         Hashmap *cgroups;
-        Hashmap *pipe_fds;
+        Hashmap *fifo_fds;
 };
 
 enum {
@@ -95,7 +101,7 @@ enum {
         FD_VCSA_UDEV,
         FD_CONSOLE,
         FD_BUS,
-        FD_PIPE_BASE
+        FD_FIFO_BASE
 };
 
 Manager *manager_new(void);
@@ -124,7 +130,7 @@ int manager_spawn_autovt(Manager *m, int vtnr);
 
 void manager_cgroup_notify_empty(Manager *m, const char *cgroup);
 
-void manager_gc(Manager *m);
+void manager_gc(Manager *m, bool drop_not_started);
 
 int manager_get_idle_hint(Manager *m, dual_timestamp *t);