richter 2005/08/07 07:40:40
Modified: . Changes.pod MANIFEST epinit.c test.pl
Embperl Object.pm
podsrc Config.spod
Added: test/cmp epoapp.htm
Log:
- Added test for application object in Execute tests.
Revision Changes Path
1.283 +2 -1 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.282
retrieving revision 1.283
diff -u -r1.282 -r1.283
--- Changes.pod 7 Aug 2005 00:52:29 -0000 1.282
+++ Changes.pod 7 Aug 2005 14:40:39 -0000 1.283
@@ -18,7 +18,8 @@
reported by Axel Beckert.
- Fixed a potential segfault in cache handling. Patch from Yatin Chawathe.
- Documentation cleanup
- - Added test for optKeepSpaces
+ - Added test for optKeepSpaces.
+ - Added test for application object in Execute tests.
- Make sure Embperl is listed after Apache itself in the server signature.
=head4 2.0rc4 19. Juni 2005
1.106 +3 -0 embperl/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -r1.105 -r1.106
--- MANIFEST 6 Aug 2005 22:59:57 -0000 1.105
+++ MANIFEST 7 Aug 2005 14:40:39 -0000 1.106
@@ -218,6 +218,7 @@
test/cmp/div.htm
test/cmp/epform.htm
test/cmp/epglobals.htm
+test/cmp/epoapp.htm
test/cmp/epobase.htm
test/cmp/epobaselib.htm
test/cmp/epobless.htm
@@ -379,6 +380,8 @@
test/conf/ssldisable.conf
test/conf/startup.pl
test/conf/startup_dso.pl
+test/html/EmbperlObject/app/epoapp.htm
+test/html/EmbperlObject/app/epoapp.pl
test/html/EmbperlObject/base2/epobase2.htm
test/html/EmbperlObject/base2/epostopdir.htm
test/html/EmbperlObject/base3/epobaselib.htm
1.31 +19 -1 embperl/epinit.c
Index: epinit.c
===================================================================
RCS file: /home/cvs/embperl/epinit.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- epinit.c 7 Aug 2005 00:52:29 -0000 1.30
+++ epinit.c 7 Aug 2005 14:40:39 -0000 1.31
@@ -944,7 +944,25 @@
bInitDone = 1 ;
+#ifdef APACHE
+ {
+ int preload = 1 ;
+ if (ap_s)
+ {
+ module * m ;
+ if ((m = ap_find_linked_module("mod_perl.c")))
+ {
+ if (m -> dynamic_load_handle)
+ preload = 0 ;
+ }
+ }
+ if (preload)
+ perl_call_pv ("Embperl::PreLoadFiles", G_DISCARD) ;
+ }
+#else
perl_call_pv ("Embperl::PreLoadFiles", G_DISCARD) ;
+#endif
+
return rc ;
}
1.161 +16 -3 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.160
retrieving revision 1.161
diff -u -r1.160 -r1.161
--- test.pl 7 Aug 2005 00:02:58 -0000 1.160
+++ test.pl 7 Aug 2005 14:40:39 -0000 1.161
@@ -2270,15 +2270,27 @@
print "ok\n" unless ($err) ;
}
- foreach $src ('EmbperlObject/epopage1.htm',
'EmbperlObject/sub/epopage2.htm', 'EmbperlObject/obj/epoobj3.htm',
+ foreach $src (
+ 'EmbperlObject/epopage1.htm',
'EmbperlObject/sub/epopage2.htm', 'EmbperlObject/obj/epoobj3.htm',
'EmbperlObject/sub/epobless.htm',
'EmbperlObject/sub/epobless.htm',
'EmbperlObject/epofdat.htm',
'EmbperlObject/sub/epobless2.htm',
'EmbperlObject/sub/epobless2.htm',
'EmbperlObject/sub/epobless3.htm',
'EmbperlObject/sub/epobless3.htm',
+ ['EmbperlObject/app/epoapp.htm', 'epoapp.pl'],
+ ['EmbperlObject/app/epoapp.htm', 'epoapp.pl'],
+ ['EmbperlObject/app/epoapp.htm', 'epoapp.pl'],
)
{
if ($err == 0 || $opt_ignoreerror) # && $version == 1)
{
+ my $app = '' ;
+
+ if (ref $src)
+ {
+ $app = $src -> [1] ;
+ $src = $src -> [0] ;
+ }
+
$src =~ m#^.*/(.*?)$# ;
$org = "$cmppath/$1" ;
$page = $src ;
@@ -2293,7 +2305,8 @@
$t1 = 0 ; # Embperl::Clock () ;
$err = Embperl::Object::Execute ({'inputfile' =>
"$EPPATH/$inpath/$src",
'object_base' =>
'epobase.htm',
- 'appname' => 'eo',
+ ($app?('object_app' =>
$app):()),
+ 'appname' =>
"eo_$app",
'debug' =>
$defaultdebug,
'outputfile' => $outfile,
'errors' => [EMAIL
PROTECTED],
1.16 +3 -3 embperl/Embperl/Object.pm
Index: Object.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Object.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- Object.pm 7 Aug 2005 00:03:00 -0000 1.15
+++ Object.pm 7 Aug 2005 14:40:39 -0000 1.16
@@ -294,9 +294,9 @@
my $cparam = {object => $appfn, syntax => 'Perl'} ;
my $c = $r -> setup_component ($cparam) ;
my $app = run($c) ;
- my $package = $packages{"$fn::$appfn"} = $c -> curr_package if
(!$r -> error) ;
+ my $package = $c -> curr_package if (!$r -> error) ;
$c -> cleanup ;
- print Embperl::LOG "[$$]Embperl::Object import new Application
", ($r -> error?'with ERRORS ':'') . "finished: $fn, " . ($package?"package =
$package\n":"\n") if ($debug);
+ print Embperl::LOG "[$$]Embperl::Object import new Application
", ($r -> error?'with ERRORS ':'') . "finished: $appfn, " . ($package?"package
= $package\n":"\n") if ($debug);
if (!$r -> error)
{
1.20 +4 -0 embperl/podsrc/Config.spod
Index: Config.spod
===================================================================
RCS file: /home/cvs/embperl/podsrc/Config.spod,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- Config.spod 7 Aug 2005 00:52:30 -0000 1.19
+++ Config.spod 7 Aug 2005 14:40:39 -0000 1.20
@@ -137,6 +137,10 @@
As you see for the third file, it is also possible to give a hashref and
supply the same parameter like L<Execute> accpets (see below).
+B<NOTE:> Preloading is not supported under Apache 1.3, when mod_perl is
+loaded as DSO. To use preloading under Apache 1.3 you need to compile
+mod_perl staticly into Apache.
+
=head2 CGI/FastCGI
1.1 embperl/test/cmp/epoapp.htm
Index: epoapp.htm
===================================================================
<html>
<head>
<title>Example</title>
</head>
<body>
<h1>head from foo</h1>
APP
-> epapp
initdonea = 1 initdoneb = 2 <-
-> epreq
initdoner = 1 <-
END APP
<hr> Footer <hr>
</body>
</html>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]