Author: richter Date: Mon Sep 10 04:18:01 2012 New Revision: 1382636 URL: http://svn.apache.org/viewvc?rev=1382636&view=rev Log: - Fixed a refcounting problem cause message "Attempt to free unreferenced scalar" during mod_perl startup with Perl 5.14.x - removed support for XALAN XML parser. It was outdated anyway. libxml2 is still supported. - Adapted tests to Perl 5.14 & 5.16
Added: perl/embperl/trunk/driver/epxalan.MAKEPL.outdated - copied unchanged from r1377117, perl/embperl/trunk/driver/epxalan.MAKEPL Removed: perl/embperl/trunk/driver/epxalan.MAKEPL Modified: perl/embperl/trunk/Changes.pod perl/embperl/trunk/Embperl.pm perl/embperl/trunk/epinit.c perl/embperl/trunk/test.pl perl/embperl/trunk/test/conf/httpd.conf.src Modified: perl/embperl/trunk/Changes.pod URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Changes.pod?rev=1382636&r1=1382635&r2=1382636&view=diff ============================================================================== --- perl/embperl/trunk/Changes.pod (original) +++ perl/embperl/trunk/Changes.pod Mon Sep 10 04:18:01 2012 @@ -1,9 +1,29 @@ =pod +=head 2.5.0 -=head 2.4.1 - + - Do not clear old code before compiling a Embperl page + in Perl >= 5.14.x because it causes seg faults. This + leads to "subroutine redifined" warings, when a + page was changed and is reloaded. + - Corrected use of G_KEEPERR when calling eval, because + of changed meaning, which cause the message "Compiling + error" instead of the real error message. + - Adapted tests to Perl 5.14 & 5.16 + - Fixed a refcounting problem cause message "Attempt to + free unreferenced scalar" during mod_perl startup + with Perl 5.14.x + - Fix output inside of Registry script for mod_perl 2.0.4+ - Fix problem with error output on stderr for Windows 64Bit + - removed support for XALAN XML parser. It was outdated + anyway. libxml2 is still supported. + - Fixed a C type declaration which caused RTF files to not + correctly escaped with newer GCC's. + - Embperl::Form is totally overhauled with many new features. + It uses now jQuery as javascript library, instead + of prototype. NOTE: This is an incompatible change. If + you are using Embperl::Form before, you need to + adapt your html code! =head 2.4.0 4. Oct 2010 Modified: perl/embperl/trunk/Embperl.pm URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl.pm?rev=1382636&r1=1382635&r2=1382636&view=diff ============================================================================== --- perl/embperl/trunk/Embperl.pm (original) +++ perl/embperl/trunk/Embperl.pm Mon Sep 10 04:18:01 2012 @@ -49,7 +49,7 @@ use vars qw( @ISA = qw(Exporter DynaLoader); -$VERSION = '2.5.0_1' ; +$VERSION = '2.5.0_2' ; if ($modperl = $ENV{MOD_PERL}) Modified: perl/embperl/trunk/epinit.c URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epinit.c?rev=1382636&r1=1382635&r2=1382636&view=diff ============================================================================== --- perl/embperl/trunk/epinit.c (original) +++ perl/embperl/trunk/epinit.c Mon Sep 10 04:18:01 2012 @@ -251,30 +251,31 @@ int embperl_SetupThread (/*in*/ pTHX pThread -> pMainPool = pMainPool ; pThread -> nPid = getpid () ; pThread -> pApplications = newHV () ; - pThread -> pFormHash = perl_get_hv (EMBPERL_FDAT_NAME, TRUE) ; + pThread -> pFormHash = perl_get_hv (EMBPERL_FDAT_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pFormHash) ; pThread -> pFormHashGV = *((GV **)hv_fetch (pStash, FDAT_NAME, sizeof (FDAT_NAME) - 1, 0)) ; - pThread -> pFormSplitHash = perl_get_hv (EMBPERL_SPLIFDAT_NAME, TRUE) ; - pThread -> pFormArray = perl_get_av (EMBPERL_FFLD_NAME, TRUE) ; + pThread -> pFormSplitHash = perl_get_hv (EMBPERL_SPLIFDAT_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pFormSplitHash) ; + pThread -> pFormArray = perl_get_av (EMBPERL_FFLD_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pFormArray) ; pThread -> pFormArrayGV = *((GV **)hv_fetch (pStash, FFLD_NAME, sizeof (FFLD_NAME) - 1, 0)) ; - pThread -> pHeaderHash = perl_get_hv (EMBPERL_HDR_NAME, TRUE) ; - pThread -> pInputHash = perl_get_hv (EMBPERL_IDAT_NAME, TRUE) ; + pThread -> pHeaderHash = perl_get_hv (EMBPERL_HDR_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pHeaderHash) ; + pThread -> pInputHash = perl_get_hv (EMBPERL_IDAT_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pInputHash) ; #ifdef DMALLOC - pThread -> pEnvHash = Perl_get_hv(aTHX_ EMBPERL_ENV_NAME, TRUE) ; + pThread -> pEnvHash = Perl_get_hv(aTHX_ EMBPERL_ENV_NAME, GV_ADD | GV_ADDMULTI) ; #else - pThread -> pEnvHash = perl_get_hv (EMBPERL_ENV_NAME, TRUE) ; + pThread -> pEnvHash = perl_get_hv (EMBPERL_ENV_NAME, GV_ADD | GV_ADDMULTI) ; #endif - pThread -> pParamArray = perl_get_av (EMBPERL_PARAM_NAME, TRUE) ; + SvREFCNT_inc(pThread -> pEnvHash) ; + pThread -> pParamArray = perl_get_av (EMBPERL_PARAM_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pParamArray) ; pThread -> pParamArrayGV = *((GV **)hv_fetch (pStash, PARAM_NAME, sizeof (PARAM_NAME) - 1, 0)) ; - pThread -> pReqRV = perl_get_sv (EMBPERL_REQ_NAME, TRUE) ; - pThread -> pAppRV = perl_get_sv (EMBPERL_APP_NAME, TRUE) ; - /* avoid warnings */ - perl_get_hv (EMBPERL_FDAT_NAME, TRUE) ; - perl_get_hv (EMBPERL_SPLIFDAT_NAME, TRUE) ; - perl_get_av (EMBPERL_FFLD_NAME, TRUE) ; - perl_get_hv (EMBPERL_HDR_NAME, TRUE) ; - perl_get_hv (EMBPERL_IDAT_NAME, TRUE) ; - perl_get_hv (EMBPERL_ENV_NAME, TRUE) ; - perl_get_hv (EMBPERL_PARAM_NAME, TRUE) ; + pThread -> pReqRV = perl_get_sv (EMBPERL_REQ_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pReqRV) ; + pThread -> pAppRV = perl_get_sv (EMBPERL_APP_NAME, GV_ADD | GV_ADDMULTI) ; + SvREFCNT_inc(pThread -> pAppRV) ; *ppSV = pThreadRV ; } else Modified: perl/embperl/trunk/test.pl URL: http://svn.apache.org/viewvc/perl/embperl/trunk/test.pl?rev=1382636&r1=1382635&r2=1382636&view=diff ============================================================================== --- perl/embperl/trunk/test.pl (original) +++ perl/embperl/trunk/test.pl Mon Sep 10 04:18:01 2012 @@ -2814,12 +2814,14 @@ do { if ($opt_gdb || $opt_ddd) { - open FH, ">dbinitembperlapache" or die "Cannot write to dbinitembperlapache ($!)" ; - print FH "set args $XX -f $EPPATH/$httpdconf\n" ; - print FH "r\n" ; - print FH "BT\n" if ($opt_gdb) ; - close FH ; - system (($opt_ddd?'ddd':'gdb') . " -x dbinitembperlapache $EPHTTPD " . ($opt_startinter?'':'&')) and die "***Cannot start $EPHTTPD" ; + #open FH, ">dbinitembperlapache" or die "Cannot write to dbinitembperlapache ($!)" ; + #print FH "set args $XX -f $EPPATH/$httpdconf\n" ; + #print FH "r\n" ; + #print FH "BT\n" if ($opt_gdb) ; + #close FH ; + #system (($opt_ddd?'ddd':'gdb') . " -x dbinitembperlapache $EPHTTPD " . ($opt_startinter?'':'&')) and die "***Cannot start $EPHTTPD" ; + print (($opt_ddd?'ddd':'gdb') . " --args $EPHTTPD " . ($opt_cfgdebug?"-D EMBPERL_APDEBUG ":'') . " $XX -f $EPPATH/$httpdconf ") . "\n" ; + system (($opt_ddd?'ddd':'gdb') . " --args $EPHTTPD " . ($opt_cfgdebug?"-D EMBPERL_APDEBUG ":'') . " $XX -f $EPPATH/$httpdconf ") and die "***Cannot start gdb/ddd $EPHTTPD" ; } else { Modified: perl/embperl/trunk/test/conf/httpd.conf.src URL: http://svn.apache.org/viewvc/perl/embperl/trunk/test/conf/httpd.conf.src?rev=1382636&r1=1382635&r2=1382636&view=diff ============================================================================== --- perl/embperl/trunk/test/conf/httpd.conf.src (original) +++ perl/embperl/trunk/test/conf/httpd.conf.src Mon Sep 10 04:18:01 2012 @@ -62,7 +62,7 @@ print OFH "PerlPassEnv TEST_PRELOAD\n" ; print OFH <<EOD ; DirectoryIndex index.htm -#PerlSwitches -DmvDR +#PerlSwitches -Dm $EPSTRONGHOLDKEY --------------------------------------------------------------------- To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org For additional commands, e-mail: embperl-cvs-h...@perl.apache.org