diff options
-rw-r--r-- | include/http_core.h | 2 | ||||
-rw-r--r-- | include/http_main.h | 2 | ||||
-rw-r--r-- | modules/generators/mod_status.c | 4 | ||||
-rw-r--r-- | server/core.c | 3 | ||||
-rw-r--r-- | server/main.c | 1 |
5 files changed, 11 insertions, 1 deletions
diff --git a/include/http_core.h b/include/http_core.h index e674915b8a..ba66de8400 100644 --- a/include/http_core.h +++ b/include/http_core.h @@ -808,6 +808,8 @@ AP_DECLARE(int) ap_state_query(int query_code); #define AP_SQ_MAIN_STATE 0 /** are we going to serve requests or are we just testing/dumping config */ #define AP_SQ_RUN_MODE 1 + /** generation of the top-level apache parent */ +#define AP_SQ_CONFIG_GEN 2 /* * return values for ap_state_query() diff --git a/include/http_main.h b/include/http_main.h index d23e049924..68ecf27a0d 100644 --- a/include/http_main.h +++ b/include/http_main.h @@ -51,6 +51,8 @@ AP_DECLARE_DATA extern apr_pool_t *ap_pglobal; AP_DECLARE_DATA extern int ap_main_state; /** run mode (normal, config test, config dump, ...) */ AP_DECLARE_DATA extern int ap_run_mode; +/** run mode (normal, config test, config dump, ...) */ +AP_DECLARE_DATA extern int ap_config_generation; /* for -C, -c and -D switches */ /** An array of all -C directives. These are processed before the server's diff --git a/modules/generators/mod_status.c b/modules/generators/mod_status.c index 0b1c3dba97..7a816b2568 100644 --- a/modules/generators/mod_status.c +++ b/modules/generators/mod_status.c @@ -390,7 +390,9 @@ static int status_handler(request_rec *r) ap_scoreboard_image->global->restart_time, DEFAULT_TIME_FORMAT, 0), "</dt>\n", NULL); - ap_rprintf(r, "<dt>Parent Server Generation: %d</dt>\n", + ap_rprintf(r, "<dt>Parent Server Config. Generation: %d</dt>\n", + ap_state_query(AP_SQ_CONFIG_GEN)); + ap_rprintf(r, "<dt>Parent Server MPM Generation: %d</dt>\n", (int)mpm_generation); ap_rputs("<dt>Server uptime: ", r); show_time(r, up_time); diff --git a/server/core.c b/server/core.c index 73ae3b8edb..a521eac465 100644 --- a/server/core.c +++ b/server/core.c @@ -112,6 +112,7 @@ static apr_table_t *server_config_defined_vars = NULL; AP_DECLARE_DATA int ap_main_state = AP_SQ_MS_INITIAL_STARTUP; AP_DECLARE_DATA int ap_run_mode = AP_SQ_RM_UNKNOWN; +AP_DECLARE_DATA int ap_config_generation = 1; static void *create_core_dir_config(apr_pool_t *a, char *dir) { @@ -4368,6 +4369,8 @@ AP_DECLARE(int) ap_state_query(int query) return ap_main_state; case AP_SQ_RUN_MODE: return ap_run_mode; + case AP_SQ_CONFIG_GEN: + return ap_config_generation; default: return AP_SQ_NOT_SUPPORTED; } diff --git a/server/main.c b/server/main.c index b1f445f124..3b38bdde15 100644 --- a/server/main.c +++ b/server/main.c @@ -686,6 +686,7 @@ int main(int argc, const char * const argv[]) apr_pool_destroy(ptemp); for (;;) { + ap_config_generation++; ap_main_state = AP_SQ_MS_DESTROY_CONFIG; apr_hook_deregister_all(); apr_pool_clear(pconf); |