You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by do...@apache.org on 2002/05/31 01:35:02 UTC
cvs commit: modperl-2.0/src/modules/perl mod_perl.c modperl_env.c modperl_env.h modperl_interp.c
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;
}