waitret = apr_proc_wait(&proc, &status, &why, APR_NOWAIT);
if (waitret != APR_CHILD_NOTDONE) {
#ifdef AP_MPM_WANT_PROCESS_CHILD_STATUS
- ap_process_child_status(&proc, why, status);
+ if (waitret == APR_CHILD_DONE)
+ ap_process_child_status(&proc, why, status);
#endif
return 1;
}
int ap_process_child_status(apr_proc_t *pid, apr_exit_why_e why, int status)
{
int signum = status;
- const char *sigdesc = apr_signal_description_get(signum);
+ const char *sigdesc;
/* Child died... if it died due to a fatal error,
* we should simply bail out. The caller needs to
}
if (APR_PROC_CHECK_SIGNALED(why)) {
+ sigdesc = apr_signal_description_get(signum);
+
switch (signum) {
case SIGTERM:
case SIGHUP: