dougm 02/05/23 15:40:48 Modified: lib/APR XSLoader.pm lib/Apache XSLoader.pm src/modules/perl mod_perl.c modperl_perl_includes.h t/conf modperl_extra.pl Log: better workaround for 5.6.x DynaLoader vs. XSLoader issue Revision Changes Path 1.3 +0 -1 modperl-2.0/lib/APR/XSLoader.pm Index: XSLoader.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/APR/XSLoader.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- XSLoader.pm 16 Apr 2002 23:29:18 -0000 1.2 +++ XSLoader.pm 23 May 2002 22:40:47 -0000 1.3 @@ -3,7 +3,6 @@ use strict; use warnings FATAL => 'all'; -use DynaLoader (); #XXX workaround for 5.6.1 bug use XSLoader (); BEGIN { 1.3 +0 -1 modperl-2.0/lib/Apache/XSLoader.pm Index: XSLoader.pm =================================================================== RCS file: /home/cvs/modperl-2.0/lib/Apache/XSLoader.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- XSLoader.pm 16 Apr 2002 23:29:18 -0000 1.2 +++ XSLoader.pm 23 May 2002 22:40:47 -0000 1.3 @@ -3,7 +3,6 @@ use strict; use warnings FATAL => 'all'; -use DynaLoader (); #XXX workaround for 5.6.1 bug use XSLoader (); BEGIN { 1.118 +8 -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.117 retrieving revision 1.118 diff -u -r1.117 -r1.118 --- mod_perl.c 23 May 2002 17:30:26 -0000 1.117 +++ mod_perl.c 23 May 2002 22:40:47 -0000 1.118 @@ -119,6 +119,14 @@ newCONSTSUB(PL_defstash, "Apache::MPM_IS_THREADED", newSViv(scfg->threaded_mpm)); + +#ifdef MP_PERL_5_6_x + /* make sure DynaLoader is loaded before XSLoader + * to workaround bug in 5.6.1 that can trigger a segv + * when using modperl as a dso + */ + modperl_require_module(aTHX_ "DynaLoader", FALSE); +#endif } static void modperl_xs_init(pTHX) 1.12 +5 -1 modperl-2.0/src/modules/perl/modperl_perl_includes.h Index: modperl_perl_includes.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl_includes.h,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- modperl_perl_includes.h 11 May 2002 18:55:41 -0000 1.11 +++ modperl_perl_includes.h 23 May 2002 22:40:47 -0000 1.12 @@ -40,7 +40,11 @@ #include "perl.h" #include "XSUB.h" -#if (PERL_REVISION == 5) && (PERL_VERSION == 6) && (PERL_SUBVERSION == 1) +#if (PERL_REVISION == 5) && (PERL_VERSION == 6) +# define MP_PERL_5_6_x +#endif + +#if defined(MP_PERL_5_6_x) && (PERL_SUBVERSION == 1) # define MP_PERL_5_6_1 #endif 1.16 +3 -0 modperl-2.0/t/conf/modperl_extra.pl Index: modperl_extra.pl =================================================================== RCS file: /home/cvs/modperl-2.0/t/conf/modperl_extra.pl,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- modperl_extra.pl 18 May 2002 02:14:47 -0000 1.15 +++ modperl_extra.pl 23 May 2002 22:40:47 -0000 1.16 @@ -1,3 +1,6 @@ +use Socket (); #test DynaLoader vs. XSLoader workaround for 5.6.x +use IO::File (); + use Apache2 (); use ModPerl::Util (); #for CORE::GLOBAL::exit