diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-04-13 02:06:27 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-04-13 02:06:27 +0200 |
commit | 80876c20f64f87765242bc35895977ab6a855729 (patch) | |
tree | fdb82b57685c706f99fde5659d350b1d3b381eda /manager.h | |
parent | 4112df163517478207526e0d3e7278ab1acf1f9f (diff) |
rework tty handling
We now make sure to run all services in their own session, possibly with
a controlling terminal.
This also extends the service and socket state machines a little.
Diffstat (limited to 'manager.h')
-rw-r--r-- | manager.h | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -35,7 +35,7 @@ typedef struct Watch Watch; typedef enum ManagerRunningAs { MANAGER_INIT, /* root and pid=1 */ MANAGER_SYSTEM, /* root and pid!=1 */ - MANAGER_SESSION, /* non-root */ + MANAGER_SESSION, /* non-root, for a session */ _MANAGER_RUNNING_AS_MAX, _MANAGER_RUNNING_AS_INVALID = -1 } ManagerRunningAs; @@ -152,6 +152,8 @@ struct Manager { bool utmp_reboot_written:1; + bool confirm_spawn:1; + Hashmap *watch_pids; /* pid => Unit object n:1 */ int epoll_fd; @@ -183,7 +185,7 @@ struct Manager { usec_t boot_timestamp; }; -int manager_new(ManagerRunningAs running_as, Manager **m); +int manager_new(ManagerRunningAs running_as, bool confirm_spawn, Manager **m); void manager_free(Manager *m); int manager_coldplug(Manager *m); |