ben 99/07/27 14:16:53
Modified: mpm/src/include ap_hooks.h http_config.h mpm/src/main http_config.c http_connection.c http_core.c http_main.c mpm/src/modules/mpm/prefork prefork.c mpm/src/modules/standard mod_access.c mod_actions.c mod_alias.c mod_asis.c mod_auth.c mod_autoindex.c mod_dir.c mod_echo.c mod_env.c mod_imap.c mod_log_config.c mod_mime.c mod_negotiation.c mod_setenvif.c mod_userdir.c Log: Another hook (I won't be upset if someone else wants to do some!). Revision Changes Path 1.9 +2 -2 apache-2.0/mpm/src/include/ap_hooks.h Index: ap_hooks.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/ap_hooks.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- ap_hooks.h 1999/07/22 19:17:15 1.8 +++ ap_hooks.h 1999/07/27 21:16:36 1.9 @@ -68,8 +68,8 @@ #define IMPLEMENT_HOOK(ret,name,args,args2,run_all,ok,decline) \ IMPLEMENT_HOOK_BASE(ret,ret r_;,r_=,r_,name,args,args2,run_all,r_ != decline,r_ != ok,run_all ? ok : decline) -#define IMPLEMENT_VOID_HOOK(name,args,args2,run_all) \ - IMPLEMENT_HOOK_BASE(void,,,,name,args,args2,run_all,1,0,) +#define IMPLEMENT_VOID_HOOK(name,args,args2) \ + IMPLEMENT_HOOK_BASE(void,,,,name,args,args2,RUN_ALL,1,0,) /* Hook orderings */ #define HOOK_REALLY_FIRST (-10) 1.12 +1 -2 apache-2.0/mpm/src/include/http_config.h Index: http_config.h =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/include/http_config.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- http_config.h 1999/07/27 12:04:59 1.11 +++ http_config.h 1999/07/27 21:16:36 1.12 @@ -211,7 +211,6 @@ * (see also mod_so). */ - void (*pre_config)(pool *pconf, pool *plog, pool *ptemp); void (*open_logs)(pool *pconf, pool *plog, pool *ptemp, server_rec *); void (*post_config)(pool *pconf, pool *plog, pool *ptemp, server_rec *); void (*child_init)(pool *pchild, server_rec *); @@ -333,7 +332,6 @@ void ap_setup_prelinked_modules(void); void ap_show_directives(void); void ap_show_modules(void); -void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp); server_rec *ap_read_config(pool *conf_pool, pool *temp_pool, const char *config_name); void ap_open_logs_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s); void ap_post_config_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s); @@ -375,6 +373,7 @@ /* Hooks */ DECLARE_HOOK(int,header_parser,(request_rec *)) +DECLARE_HOOK(void,pre_config,(pool *pconf,pool *plog,pool *ptemp)) #endif 1.15 +5 -11 apache-2.0/mpm/src/main/http_config.c Index: http_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_config.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- http_config.c 1999/07/27 12:05:00 1.14 +++ http_config.c 1999/07/27 21:16:38 1.15 @@ -83,8 +83,13 @@ HOOK_STRUCT( HOOK_LINK(header_parser) + HOOK_LINK(pre_config) ) +IMPLEMENT_HOOK(int,header_parser,(request_rec *r),(r),RUN_ALL,OK,DECLINED) +IMPLEMENT_VOID_HOOK(pre_config,(pool *pconf,pool *plog,pool *ptemp), + (pconf,plog,ptemp)) + DEF_Explain /**************************************************************** @@ -362,8 +367,6 @@ return run_method(r, offsets_into_method_ptrs.access_checker, 1); } -IMPLEMENT_HOOK(int,header_parser,(request_rec *r),(r),RUN_ALL,OK,DECLINED) - /* Auth stuff --- anything that defines one of these will presumably * want to define something for the other. Note that check_auth is * separate from check_access to make catching some config errors easier. @@ -1435,15 +1438,6 @@ if (m->create_dir_config) ap_set_module_config(s->lookup_defaults, m, (*m->create_dir_config)(p, NULL)); -} - -void ap_pre_config_hook(pool *pconf, pool *plog, pool *ptemp) -{ - module *m; - - for (m = top_module; m; m = m->next) - if (m->pre_config) - (*m->pre_config) (pconf, plog, ptemp); } void ap_post_config_hook(pool *pconf, pool *plog, pool *ptemp, server_rec *s) 1.13 +1 -1 apache-2.0/mpm/src/main/http_connection.c Index: http_connection.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_connection.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- http_connection.c 1999/07/23 18:14:44 1.12 +++ http_connection.c 1999/07/27 21:16:38 1.13 @@ -69,7 +69,7 @@ HOOK_LINK(process_connection) ); -IMPLEMENT_VOID_HOOK(pre_connection,(conn_rec *c),(c),RUN_ALL) +IMPLEMENT_VOID_HOOK(pre_connection,(conn_rec *c),(c)) IMPLEMENT_HOOK(int,process_connection,(conn_rec *c),(c),RUN_FIRST,OK,DECLINED) /* TODO: re-implement the lingering close stuff */ 1.13 +0 -1 apache-2.0/mpm/src/main/http_core.c Index: http_core.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_core.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- http_core.c 1999/07/27 12:05:00 1.12 +++ http_core.c 1999/07/27 21:16:39 1.13 @@ -2649,7 +2649,6 @@ API_VAR_EXPORT module core_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ core_open_logs, /* open_logs */ NULL, /* child_init */ 1.6 +2 -2 apache-2.0/mpm/src/main/http_main.c Index: http_main.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/main/http_main.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- http_main.c 1999/07/27 12:05:00 1.5 +++ http_main.c 1999/07/27 21:16:39 1.6 @@ -318,7 +318,7 @@ we actually serve any requests */ ap_server_root = def_server_root; - ap_pre_config_hook(pconf, plog, ptemp); + ap_run_pre_config(pconf, plog, ptemp); server_conf = ap_read_config(pconf, ptemp, confname); if (configtestonly) { @@ -335,7 +335,7 @@ ap_clear_pool(pconf); ptemp = ap_make_sub_pool(pconf); ap_server_root = def_server_root; - ap_pre_config_hook(pconf, plog, ptemp); + ap_run_pre_config(pconf, plog, ptemp); server_conf = ap_read_config(pconf, ptemp, confname); ap_clear_pool(plog); ap_open_logs_hook(pconf, plog, ptemp, server_conf); 1.21 +10 -10 apache-2.0/mpm/src/modules/mpm/prefork/prefork.c Index: prefork.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/mpm/prefork/prefork.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- prefork.c 1999/07/27 13:31:20 1.20 +++ prefork.c 1999/07/27 21:16:43 1.21 @@ -2859,15 +2859,6 @@ return 0; } -static void prefork_hooks(void) -{ - INIT_SIGLIST(); -#ifdef AUX3 - (void) set42sig(); -#endif - /* TODO: set one_process properly */ one_process = 0; -} - static void prefork_pre_config(pool *pconf, pool *plog, pool *ptemp) { static int restart_num = 0; @@ -2900,6 +2891,16 @@ ap_cpystrn(ap_coredump_dir, ap_server_root, sizeof(ap_coredump_dir)); } +static void prefork_hooks(void) +{ + ap_hook_pre_config(prefork_pre_config,NULL,NULL,HOOK_MIDDLE); + INIT_SIGLIST(); +#ifdef AUX3 + (void) set42sig(); +#endif + /* TODO: set one_process properly */ one_process = 0; +} + static const char *set_pidfile(cmd_parms *cmd, void *dummy, char *arg) { const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); @@ -3083,7 +3084,6 @@ module MODULE_VAR_EXPORT mpm_prefork_module = { STANDARD20_MODULE_STUFF, - prefork_pre_config, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child_init */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_access.c Index: mod_access.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_access.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_access.c 1999/07/27 12:05:06 1.9 +++ mod_access.c 1999/07/27 21:16:44 1.10 @@ -389,7 +389,6 @@ module MODULE_VAR_EXPORT access_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* initializer */ 1.9 +0 -1 apache-2.0/mpm/src/modules/standard/mod_actions.c Index: mod_actions.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_actions.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mod_actions.c 1999/07/27 12:05:06 1.8 +++ mod_actions.c 1999/07/27 21:16:44 1.9 @@ -211,7 +211,6 @@ module action_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initializer */ 1.11 +0 -1 apache-2.0/mpm/src/modules/standard/mod_alias.c Index: mod_alias.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_alias.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mod_alias.c 1999/07/27 12:05:07 1.10 +++ mod_alias.c 1999/07/27 21:16:45 1.11 @@ -406,7 +406,6 @@ module MODULE_VAR_EXPORT alias_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* initializer */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_asis.c Index: mod_asis.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_asis.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_asis.c 1999/07/27 12:05:07 1.9 +++ mod_asis.c 1999/07/27 21:16:45 1.10 @@ -126,7 +126,6 @@ module MODULE_VAR_EXPORT asis_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initaliser */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_auth.c Index: mod_auth.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_auth.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_auth.c 1999/07/27 12:05:07 1.9 +++ mod_auth.c 1999/07/27 21:16:45 1.10 @@ -318,7 +318,6 @@ module MODULE_VAR_EXPORT auth_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* initializer */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_autoindex.c Index: mod_autoindex.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_autoindex.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_autoindex.c 1999/07/27 12:05:07 1.9 +++ mod_autoindex.c 1999/07/27 21:16:46 1.10 @@ -1650,7 +1650,6 @@ module MODULE_VAR_EXPORT autoindex_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initializer */ 1.9 +0 -1 apache-2.0/mpm/src/modules/standard/mod_dir.c Index: mod_dir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_dir.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mod_dir.c 1999/07/27 12:05:08 1.8 +++ mod_dir.c 1999/07/27 21:16:46 1.9 @@ -224,7 +224,6 @@ module MODULE_VAR_EXPORT dir_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child_init */ 1.4 +0 -1 apache-2.0/mpm/src/modules/standard/mod_echo.c Index: mod_echo.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_echo.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- mod_echo.c 1999/07/27 12:05:08 1.3 +++ mod_echo.c 1999/07/27 21:16:46 1.4 @@ -63,7 +63,6 @@ API_VAR_EXPORT module echo_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child_init */ 1.11 +0 -1 apache-2.0/mpm/src/modules/standard/mod_env.c Index: mod_env.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_env.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mod_env.c 1999/07/27 12:05:08 1.10 +++ mod_env.c 1999/07/27 21:16:46 1.11 @@ -256,7 +256,6 @@ module MODULE_VAR_EXPORT env_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initializer */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_imap.c Index: mod_imap.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_imap.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_imap.c 1999/07/27 12:05:08 1.9 +++ mod_imap.c 1999/07/27 21:16:47 1.10 @@ -897,7 +897,6 @@ module MODULE_VAR_EXPORT imap_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initializer */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_log_config.c Index: mod_log_config.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_log_config.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_log_config.c 1999/07/27 12:05:09 1.9 +++ mod_log_config.c 1999/07/27 21:16:47 1.10 @@ -1113,7 +1113,6 @@ module MODULE_VAR_EXPORT config_log_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ init_config_log, /* open_logs */ NULL, /* child_init */ 1.9 +0 -1 apache-2.0/mpm/src/modules/standard/mod_mime.c Index: mod_mime.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_mime.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- mod_mime.c 1999/07/27 12:05:09 1.8 +++ mod_mime.c 1999/07/27 21:16:47 1.9 @@ -386,7 +386,6 @@ module MODULE_VAR_EXPORT mime_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ mime_post_config, /* post_config */ NULL, /* open_logs */ NULL, /* child_init */ 1.10 +0 -1 apache-2.0/mpm/src/modules/standard/mod_negotiation.c Index: mod_negotiation.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_negotiation.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- mod_negotiation.c 1999/07/27 12:05:09 1.9 +++ mod_negotiation.c 1999/07/27 21:16:47 1.10 @@ -2733,7 +2733,6 @@ module MODULE_VAR_EXPORT negotiation_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* initializer */ 1.11 +0 -1 apache-2.0/mpm/src/modules/standard/mod_setenvif.c Index: mod_setenvif.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_setenvif.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mod_setenvif.c 1999/07/27 12:05:09 1.10 +++ mod_setenvif.c 1999/07/27 21:16:47 1.11 @@ -408,7 +408,6 @@ module MODULE_VAR_EXPORT setenvif_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* initializer */ 1.11 +0 -1 apache-2.0/mpm/src/modules/standard/mod_userdir.c Index: mod_userdir.c =================================================================== RCS file: /export/home/cvs/apache-2.0/mpm/src/modules/standard/mod_userdir.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- mod_userdir.c 1999/07/27 12:05:10 1.10 +++ mod_userdir.c 1999/07/27 21:16:47 1.11 @@ -336,7 +336,6 @@ module userdir_module = { STANDARD20_MODULE_STUFF, - NULL, /* pre_config */ NULL, /* post_config */ NULL, /* open_logs */ NULL, /* child initializer */