diff options
author | David Oberhollenzer <goliath@infraroot.at> | 2019-03-28 13:44:28 +0100 |
---|---|---|
committer | David Oberhollenzer <goliath@infraroot.at> | 2019-03-28 13:45:33 +0100 |
commit | c16735414ba63cb593881cd32e46dc086f003181 (patch) | |
tree | 5dc8e79e8d2dd82e91c89ec0c028e11858a71131 /initd | |
parent | d16d26018126d381954110e8cdb788650eb41d9e (diff) |
initd: Hand out unique IDs to services
Signed-off-by: David Oberhollenzer <goliath@infraroot.at>
Diffstat (limited to 'initd')
-rw-r--r-- | initd/supervisor.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/initd/supervisor.c b/initd/supervisor.c index 4f7ddc9..871618a 100644 --- a/initd/supervisor.c +++ b/initd/supervisor.c @@ -3,6 +3,7 @@ static service_list_t cfg; +static int service_id = 1; static int target = -1; static service_t *running = NULL; static service_t *terminated = NULL; @@ -14,6 +15,9 @@ static bool waiting = false; static int start_service(service_t *svc) { + if (svc->id < 1) + svc->id = service_id++; + svc->pid = runsvc(svc); if (svc->pid == -1) { print_status(svc->desc, STATUS_FAIL, false); |