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);