summaryrefslogtreecommitdiff
path: root/src/service.h
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-01-20 18:46:38 +0100
committerLennart Poettering <lennart@poettering.net>2011-01-20 18:46:38 +0100
commit867b3b7d6b88ba4d07ec7c830576d4ac2f7dd226 (patch)
tree8dd046309411ed5a53e0c1c78433d9ce57ced33a /src/service.h
parentc06b7a15ea4bd9a6063eb16e1b4ee77ef05714b4 (diff)
service: make chain of main commands and control commands independent of each other, so that both can be executed simultaneously and independently
Diffstat (limited to 'src/service.h')
-rw-r--r--src/service.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/service.h b/src/service.h
index 758604621e..e06ff3d45a 100644
--- a/src/service.h
+++ b/src/service.h
@@ -103,10 +103,20 @@ struct Service {
ServiceState state, deserialized_state;
+ /* The exit status of the real main process */
ExecStatus main_exec_status;
+ /* The currently executed control process */
ExecCommand *control_command;
+
+ /* The currently executed main process, which may be NULL if
+ * the main process got started via forking mode and not by
+ * us */
+ ExecCommand *main_command;
+
+ /* The ID of the control command currently being executed */
ServiceExecCommand control_command_id;
+
pid_t main_pid, control_pid;
int socket_fd;