in modules/fcgid/fcgid_proc_win.c [463:502]
void proc_print_exit_info(fcgid_procnode * procnode, int exitcode,
apr_exit_why_e exitwhy, server_rec * main_server)
{
char *diewhy = NULL;
/* Reasons to exit */
switch (procnode->diewhy) {
case FCGID_DIE_KILLSELF:
if (exitwhy == APR_PROC_EXIT)
diewhy = "normal exit";
else
diewhy = "access violation";
break;
case FCGID_DIE_IDLE_TIMEOUT:
diewhy = "idle timeout";
break;
case FCGID_DIE_LIFETIME_EXPIRED:
diewhy = "lifetime expired";
break;
case FCGID_DIE_BUSY_TIMEOUT:
diewhy = "busy timeout";
break;
case FCGID_DIE_CONNECT_ERROR:
diewhy = "connect error, server may has exited";
break;
case FCGID_DIE_COMM_ERROR:
diewhy = "communication error";
break;
case FCGID_DIE_SHUTDOWN:
diewhy = "shutting down";
break;
default:
diewhy = "unknown";
}
/* Print log now */
ap_log_error(APLOG_MARK, APLOG_INFO, 0, main_server,
"mod_fcgid: process %s(%" APR_PID_T_FMT ") exit(%s), return code %d",
procnode->executable_path, procnode->proc_id.pid, diewhy, exitcode);
}