dougm 01/04/29 21:38:37 Modified: src/modules/perl mod_perl.c mod_perl.h modperl_types.h Log: integrate modperl_global module and initialize pconf/request_rec globals Revision Changes Path 1.51 +13 -0 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -r1.50 -r1.51 --- mod_perl.c 2001/04/25 16:19:44 1.50 +++ mod_perl.c 2001/04/30 04:38:34 1.51 @@ -207,6 +207,12 @@ } #endif /* USE_ITHREADS */ +static void modperl_init_globals(apr_pool_t *pconf) +{ + modperl_global_init_pconf(pconf, (void *)pconf); + modperl_tls_create_request_rec(pconf); +} + void modperl_hook_init(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *s) { @@ -237,6 +243,7 @@ ap_add_version_component(pconf, Perl_form(aTHX_ "Perl/v%vd", PL_patchlevel)); modperl_mgv_hash_handlers(pconf, s); + modperl_init_globals(pconf); #ifdef USE_ITHREADS modperl_init_clones(s, pconf); #endif @@ -253,11 +260,17 @@ static int modperl_hook_post_read_request(request_rec *r) { + /* if 'PerlOptions +GlobalRequest' is outside a container */ + modperl_global_request_cfg_set(r); + return modperl_input_filter_register_request(r); } static int modperl_hook_header_parser(request_rec *r) { + /* if 'PerlOptions +GlobalRequest' is inside a container */ + modperl_global_request_cfg_set(r); + return modperl_input_filter_register_request(r); } 1.30 +3 -0 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- mod_perl.h 2001/04/19 21:26:34 1.29 +++ mod_perl.h 2001/04/30 04:38:35 1.30 @@ -4,6 +4,8 @@ #include "modperl_apache_includes.h" #include "modperl_perl_includes.h" +#define MP_THREADED (defined(USE_ITHREADS) && APR_HAS_THREADS) + extern module AP_MODULE_DECLARE_DATA perl_module; #include "modperl_flags.h" @@ -27,6 +29,7 @@ #include "modperl_filter.h" #include "modperl_pcw.h" #include "modperl_mgv.h" +#include "modperl_global.h" void modperl_init(server_rec *s, apr_pool_t *p); void modperl_hook_init(apr_pool_t *pconf, apr_pool_t *plog, 1.39 +2 -0 modperl-2.0/src/modules/perl/modperl_types.h Index: modperl_types.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- modperl_types.h 2001/04/28 23:03:08 1.38 +++ modperl_types.h 2001/04/30 04:38:35 1.39 @@ -197,6 +197,8 @@ typedef struct { HV *pnotes; + SV *global_request_obj; + U8 flags; modperl_wbucket_t wbucket; MpAV *handlers_per_dir[MP_HANDLER_NUM_PER_DIR]; MpAV *handlers_per_srv[MP_HANDLER_NUM_PER_SRV];