Mailing List Archive

svn commit: r1382636 - in /perl/embperl/trunk: Changes.pod Embperl.pm driver/epxalan.MAKEPL driver/epxalan.MAKEPL.outdated epinit.c test.pl test/conf/httpd.conf.src
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-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org