From 9aa42584a7704d2c8a9dbab8171ee79d462c4211 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 21 Apr 2022 07:45:29 +0200 Subject: [PATCH] mxqd: Don't let the child check status after fork --- mxqd.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/mxqd.c b/mxqd.c index 4303a824..68d599fe 100644 --- a/mxqd.c +++ b/mxqd.c @@ -1203,16 +1203,17 @@ static unsigned long start_job(struct mxq_group_list *glist) job->host_cpu_set_str = mx_cpuset_to_str(&job->host_cpu_set); pid = fork(); + if (pid == 0) { + job->host_pid = getpid(); + mx_log_debug("starting reaper process."); + exec_reaper(server, glist, job); + _exit(EX__MAX+1); + } if (pid < 0) { mx_log_err("fork: %m"); cpuset_clear_running(&job->host_cpu_set,&server->cpu_set_available); mxq_unload_job_from_server(server->mysql, job->job_id); return 0; - } else if (pid == 0) { - job->host_pid = getpid(); - mx_log_debug("starting reaper process."); - exec_reaper(server, glist, job); - _exit(EX__MAX+1); } gettimeofday(&job->stats_starttime, NULL);