} ManagerExitCode;
typedef enum ManagerRunningAs {
- MANAGER_INIT, /* root and pid=1 */
- MANAGER_SYSTEM, /* root and pid!=1 */
- MANAGER_SESSION, /* non-root, for a session */
+ MANAGER_SYSTEM,
+ MANAGER_SESSION,
_MANAGER_RUNNING_AS_MAX,
_MANAGER_RUNNING_AS_INVALID = -1
} ManagerRunningAs;
Hashmap *watch_pids; /* pid => Unit object n:1 */
+ char *notify_socket;
+
Watch notify_watch;
Watch signal_watch;
char **environment;
- timestamp startup_timestamp;
+ dual_timestamp startup_timestamp;
/* Data specific to the device subsystem */
struct udev* udev;
/* Data specific to the D-Bus subsystem */
DBusConnection *api_bus, *system_bus;
+ DBusServer *private_bus;
+ Set *bus_connections, *bus_connections_for_dispatch;
+
Set *subscribed;
DBusMessage *queued_message; /* This is used during reloading:
* before the reload we queue the
bool dispatching_run_queue:1;
bool dispatching_dbus_queue:1;
- bool request_api_bus_dispatch:1;
- bool request_system_bus_dispatch:1;
-
bool utmp_reboot_written:1;
- bool confirm_spawn:1;
+ bool confirm_spawn;
};
int manager_new(ManagerRunningAs running_as, bool confirm_spawn, Manager **m);