From 9ed858cd5071a96141ed12e41b5a251b0d3d6341 Mon Sep 17 00:00:00 2001 From: Yann Ylavic Date: Tue, 1 Mar 2016 22:29:50 +0000 Subject: [PATCH] mpms: follow up to r1629925: more error reports. Failing to setup (or no) listeners is also an error. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1733173 13f79535-47bb-0310-9956-ffa450edef68 --- server/mpm/event/event.c | 2 +- server/mpm/mpmt_os2/mpmt_os2.c | 27 ++++++++++++++------------- server/mpm/prefork/prefork.c | 2 +- server/mpm/winnt/mpm_winnt.c | 2 +- server/mpm/worker/worker.c | 2 +- 5 files changed, 18 insertions(+), 17 deletions(-) diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c index 9f80b0bdbe..0d6d9584fe 100644 --- a/server/mpm/event/event.c +++ b/server/mpm/event/event.c @@ -3345,7 +3345,7 @@ static int event_open_logs(apr_pool_t * p, apr_pool_t * plog, ap_log_error(APLOG_MARK, APLOG_ALERT | level_flags, 0, (startup ? NULL : s), APLOGNO(03272) "no listening sockets available, shutting down"); - return DONE; + return !OK; } if (one_process) { diff --git a/server/mpm/mpmt_os2/mpmt_os2.c b/server/mpm/mpmt_os2/mpmt_os2.c index 7579d3a641..22bf5e7371 100644 --- a/server/mpm/mpmt_os2/mpmt_os2.c +++ b/server/mpm/mpmt_os2/mpmt_os2.c @@ -102,7 +102,7 @@ typedef struct { listen_socket_t listeners[1]; } parent_info_t; -static char master_main(); +static int master_main(); static void spawn_child(int slot); void ap_mpm_child_main(apr_pool_t *pconf); static void set_signals(); @@ -157,7 +157,7 @@ static int mpmt_os2_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s ) } else { /* Parent process */ - char restart; + int rc; is_parent_process = TRUE; if (ap_setup_listeners(ap_server_conf) < 1) { @@ -168,15 +168,16 @@ static int mpmt_os2_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s ) ap_log_pid(pconf, ap_pid_fname); - restart = master_main(); + rc = master_main(); ++ap_my_generation; ap_scoreboard_image->global->running_generation = ap_my_generation; - if (!restart) { + if (rc != OK) { ap_remove_pid(pconf, ap_pid_fname); ap_log_error(APLOG_MARK, APLOG_NOTICE, 0, ap_server_conf, APLOGNO(00201) - "caught SIGTERM, shutting down"); - return DONE; + "caught %s, shutting down", + (rc == DONE) ? "SIGTERM" : "error"); + return rc; } } /* Parent process */ @@ -188,7 +189,7 @@ static int mpmt_os2_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s ) /* Main processing of the parent process * returns TRUE if restarting */ -static char master_main() +static int master_main() { server_rec *s = ap_server_conf; ap_listen_rec *lr; @@ -203,7 +204,7 @@ static char master_main() if (ap_setup_listeners(ap_server_conf) < 1) { ap_log_error(APLOG_MARK, APLOG_ALERT, 0, s, APLOGNO(00202) "no listening sockets available, shutting down"); - return FALSE; + return !OK; } /* Allocate a shared memory block for the array of listeners */ @@ -219,7 +220,7 @@ static char master_main() if (rc) { ap_log_error(APLOG_MARK, APLOG_ALERT, APR_FROM_OS_ERROR(rc), s, APLOGNO(00203) "failure allocating shared memory, shutting down"); - return FALSE; + return !OK; } /* Store the listener sockets in the shared memory area for our children to see */ @@ -236,7 +237,7 @@ static char master_main() if (rc) { ap_log_error(APLOG_MARK, APLOG_ALERT, APR_FROM_OS_ERROR(rc), s, APLOGNO(00204) "failure creating accept mutex, shutting down"); - return FALSE; + return !OK; } parent_info->accept_mutex = ap_mpm_accept_mutex; @@ -251,7 +252,7 @@ static char master_main() if (rc) { ap_log_error(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(rc), ap_server_conf, APLOGNO(00205) "unable to allocate shared memory for scoreboard , exiting"); - return FALSE; + return !OK; } ap_init_scoreboard(sb_mem); @@ -266,7 +267,7 @@ static char master_main() if (one_process) { ap_scoreboard_image->parent[0].pid = getpid(); ap_mpm_child_main(pconf); - return FALSE; + return DONE; } while (!restart_pending && !shutdown_pending) { @@ -318,7 +319,7 @@ static char master_main() } DosFreeMem(parent_info); - return restart_pending; + return restart_pending ? OK : DONE; } diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index d66d969483..c0f9371adf 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -1308,7 +1308,7 @@ static int prefork_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, ap_log_error(APLOG_MARK, APLOG_ALERT | level_flags, 0, (startup ? NULL : s), APLOGNO(03279) "no listening sockets available, shutting down"); - return DONE; + return !OK; } if (one_process) { diff --git a/server/mpm/winnt/mpm_winnt.c b/server/mpm/winnt/mpm_winnt.c index 0df9e2f3f7..d9251b1cd2 100644 --- a/server/mpm/winnt/mpm_winnt.c +++ b/server/mpm/winnt/mpm_winnt.c @@ -1653,7 +1653,7 @@ static int winnt_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, s if (ap_setup_listeners(s) < 1) { ap_log_error(APLOG_MARK, APLOG_ALERT|APLOG_STARTUP, 0, NULL, APLOGNO(00451) "no listening sockets available, shutting down"); - return DONE; + return !OK; } return OK; diff --git a/server/mpm/worker/worker.c b/server/mpm/worker/worker.c index 9629962ac8..5cb516f9c2 100644 --- a/server/mpm/worker/worker.c +++ b/server/mpm/worker/worker.c @@ -2033,7 +2033,7 @@ static int worker_open_logs(apr_pool_t *p, apr_pool_t *plog, apr_pool_t *ptemp, ap_log_error(APLOG_MARK, APLOG_ALERT | level_flags, 0, (startup ? NULL : s), APLOGNO(03290) "no listening sockets available, shutting down"); - return DONE; + return !OK; } if (one_process) { -- 2.50.1