dougm 02/05/30 16:35:02 Modified: src/modules/perl mod_perl.c modperl_env.c modperl_env.h modperl_interp.c Log: restore PL_vtbl_{env,envelem} function pointers on restart (required on darwin, good practice everywhere) Revision Changes Path 1.120 +2 -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.119 retrieving revision 1.120 diff -u -r1.119 -r1.120 --- mod_perl.c 23 May 2002 23:01:55 -0000 1.119 +++ mod_perl.c 30 May 2002 23:35:02 -0000 1.120 @@ -18,6 +18,8 @@ modperl_xs_dl_handles_close(cdata->pool, handles); } + modperl_env_unload(); + return APR_SUCCESS; } #endif 1.24 +7 -0 modperl-2.0/src/modules/perl/modperl_env.c Index: modperl_env.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -r1.23 -r1.24 --- modperl_env.c 28 May 2002 00:35:00 -0000 1.23 +++ modperl_env.c 30 May 2002 23:35:02 -0000 1.24 @@ -329,3 +329,10 @@ StructCopy(&MP_vtbl_env, &PL_vtbl_env, MGVTBL); StructCopy(&MP_vtbl_envelem, &PL_vtbl_envelem, MGVTBL); } + +void modperl_env_unload(void) +{ + /* restore originals */ + StructCopy(&MP_PERL_vtbl_env, &PL_vtbl_env, MGVTBL); + StructCopy(&MP_PERL_vtbl_envelem, &PL_vtbl_envelem, MGVTBL); +} 1.12 +2 -0 modperl-2.0/src/modules/perl/modperl_env.h Index: modperl_env.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_env.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- modperl_env.h 19 Nov 2001 00:07:28 -0000 1.11 +++ modperl_env.h 30 May 2002 23:35:02 -0000 1.12 @@ -29,4 +29,6 @@ void modperl_env_init(void); +void modperl_env_unload(void); + #endif /* MODPERL_ENV_H */ 1.42 +2 -0 modperl-2.0/src/modules/perl/modperl_interp.c Index: modperl_interp.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v retrieving revision 1.41 retrieving revision 1.42 diff -u -r1.41 -r1.42 --- modperl_interp.c 11 May 2002 20:01:09 -0000 1.41 +++ modperl_interp.c 30 May 2002 23:35:02 -0000 1.42 @@ -159,6 +159,8 @@ mip->parent->perl = NULL; + modperl_env_unload(); + return APR_SUCCESS; }