From 5b5fc677b313908b8d1a775cd6af08202841d908 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 14 May 2020 16:31:49 +0200 Subject: Move handling of dead children back to SIGCHLD handler Signed-off-by: David Oberhollenzer --- initd/config.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) (limited to 'initd/config.c') diff --git a/initd/config.c b/initd/config.c index fa12ab2..3a4eac2 100644 --- a/initd/config.c +++ b/initd/config.c @@ -69,18 +69,6 @@ void config_set_waiting(svc_run_data_t *rt) waiting = rt; } -bool config_is_waiting(void) -{ - if (waiting != NULL) { - if (waiting->state == STATE_RUNNING) - return true; - - waiting = NULL; - } - - return false; -} - svc_run_data_t *config_rt_data_by_pid(pid_t pid) { size_t i; @@ -98,8 +86,12 @@ svc_run_data_t *config_rt_data_by_pid(pid_t pid) svc_run_data_t *config_dequeue(void) { - if (config_is_waiting()) - return NULL; + if (waiting != NULL) { + if (waiting->state == STATE_RUNNING) + return NULL; + + waiting = NULL; + } if (queue_idx >= queue_count[target]) return NULL; -- cgit v1.2.3