Created
April 20, 2015 07:32
-
-
Save nijssen/0ca278c9ef87bec86034 to your computer and use it in GitHub Desktop.
Installing Everything: mod_perl patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff -crB apache1/mod_perl-1.31/src/modules/perl/Constants.xs mod_perl-1.31/src/modules/perl/Constants.xs | |
*** apache1/mod_perl-1.31/src/modules/perl/Constants.xs 2003-03-13 20:39:39.000000000 -0800 | |
--- mod_perl-1.31/src/modules/perl/Constants.xs 2015-04-19 22:49:07.370809012 -0700 | |
*************** | |
*** 20,26 **** | |
SvPVX(caller), sub, SvPVX(pclass), sub); | |
#endif | |
gv = gv_fetchpv(form("%_::%s", caller, sub), TRUE, SVt_PVCV); | |
! GvCV(gv) = perl_get_cv(form("%_::%s", pclass, sub), TRUE); | |
GvIMPORTED_CV_on(gv); | |
} | |
--- 20,26 ---- | |
SvPVX(caller), sub, SvPVX(pclass), sub); | |
#endif | |
gv = gv_fetchpv(form("%_::%s", caller, sub), TRUE, SVt_PVCV); | |
! GvCV_set(gv, perl_get_cv(form("%_::%s", pclass, sub), TRUE)); | |
GvIMPORTED_CV_on(gv); | |
} | |
diff -crB apache1/mod_perl-1.31/src/modules/perl/Log.xs mod_perl-1.31/src/modules/perl/Log.xs | |
*** apache1/mod_perl-1.31/src/modules/perl/Log.xs 2001-01-24 23:43:05.000000000 -0800 | |
--- mod_perl-1.31/src/modules/perl/Log.xs 2015-04-19 22:49:24.994798100 -0700 | |
*************** | |
*** 10,16 **** | |
static void perl_cv_alias(char *to, char *from) | |
{ | |
GV *gp = gv_fetchpv(to, TRUE, SVt_PVCV); | |
! GvCV(gp) = perl_get_cv(from, TRUE); | |
} | |
static void ApacheLog(int level, SV *sv, SV *msg) | |
--- 10,16 ---- | |
static void perl_cv_alias(char *to, char *from) | |
{ | |
GV *gp = gv_fetchpv(to, TRUE, SVt_PVCV); | |
! GvCV_set(gp, perl_get_cv(from, TRUE)); | |
} | |
static void ApacheLog(int level, SV *sv, SV *msg) | |
diff -crB apache1/mod_perl-1.31/src/modules/perl/mod_perl.c mod_perl-1.31/src/modules/perl/mod_perl.c | |
*** apache1/mod_perl-1.31/src/modules/perl/mod_perl.c 2008-11-20 10:12:31.000000000 -0800 | |
--- mod_perl-1.31/src/modules/perl/mod_perl.c 2015-04-19 22:50:00.822708627 -0700 | |
*************** | |
*** 785,791 **** | |
/* *CORE::GLOBAL::exit = \&Apache::exit */ | |
if(gv_stashpv("CORE::GLOBAL", FALSE)) { | |
GV *exitgp = gv_fetchpv("CORE::GLOBAL::exit", TRUE, SVt_PVCV); | |
! GvCV(exitgp) = perl_get_cv("Apache::exit", TRUE); | |
GvIMPORTED_CV_on(exitgp); | |
} | |
--- 785,791 ---- | |
/* *CORE::GLOBAL::exit = \&Apache::exit */ | |
if(gv_stashpv("CORE::GLOBAL", FALSE)) { | |
GV *exitgp = gv_fetchpv("CORE::GLOBAL::exit", TRUE, SVt_PVCV); | |
! GvCV_set(exitgp, perl_get_cv("Apache::exit", TRUE)); | |
GvIMPORTED_CV_on(exitgp); | |
} | |
diff -crB apache1/mod_perl-1.31/src/modules/perl/perl_config.c mod_perl-1.31/src/modules/perl/perl_config.c | |
*** apache1/mod_perl-1.31/src/modules/perl/perl_config.c 2003-03-13 20:55:59.000000000 -0800 | |
--- mod_perl-1.31/src/modules/perl/perl_config.c 2015-04-19 22:58:45.201694521 -0700 | |
*************** | |
*** 1720,1726 **** | |
if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv)))) { | |
GV *gv = CvGV(cv); | |
cv_undef(cv); | |
! CvGV(cv) = gv; | |
GvCVGEN(gv) = 1; /* invalidate method cache */ | |
} | |
} | |
--- 1720,1726 ---- | |
if((cv = GvCV((GV*)val)) && (GvSTASH((GV*)val) == GvSTASH(CvGV(cv)))) { | |
GV *gv = CvGV(cv); | |
cv_undef(cv); | |
! CvGV_set(cv, gv); | |
GvCVGEN(gv) = 1; /* invalidate method cache */ | |
} | |
} | |
diff -crB apache1/mod_perl-1.31/src/modules/perl/perl_util.c mod_perl-1.31/src/modules/perl/perl_util.c | |
*** apache1/mod_perl-1.31/src/modules/perl/perl_util.c 2007-12-02 23:19:59.000000000 -0800 | |
--- mod_perl-1.31/src/modules/perl/perl_util.c 2015-04-19 22:55:18.001436463 -0700 | |
*************** | |
*** 669,675 **** | |
{ | |
if(set_ids++) return; | |
sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32)getpid()); | |
! #ifndef WIN32 | |
uid = (int)getuid(); | |
euid = (int)geteuid(); | |
gid = (int)getgid(); | |
--- 669,675 ---- | |
{ | |
if(set_ids++) return; | |
sv_setiv(GvSV(gv_fetchpv("$", TRUE, SVt_PV)), (I32)getpid()); | |
! #if 0 | |
uid = (int)getuid(); | |
euid = (int)geteuid(); | |
gid = (int)getgid(); | |
diff -crB apache1/mod_perl-1.31/Symbol/Symbol.xs mod_perl-1.31/Symbol/Symbol.xs | |
*** apache1/mod_perl-1.31/Symbol/Symbol.xs 2000-12-21 22:02:32.000000000 -0800 | |
--- mod_perl-1.31/Symbol/Symbol.xs 2015-04-18 16:50:55.925460012 -0700 | |
*************** | |
*** 30,36 **** | |
has_proto = TRUE; | |
cv_undef(cv); | |
! CvGV(cv) = gv; /* let user-undef'd sub keep its identity */ | |
if(has_proto) | |
SvPOK_on(cv); /* otherwise we get `Prototype mismatch:' */ | |
--- 30,36 ---- | |
has_proto = TRUE; | |
cv_undef(cv); | |
! CvGV_set(cv,gv); /* let user-undef'd sub keep its identity */ | |
if(has_proto) | |
SvPOK_on(cv); /* otherwise we get `Prototype mismatch:' */ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment