Author: phred
Date: Sun Feb 24 12:20:07 2008
New Revision: 630668

URL: http://svn.apache.org/viewvc?rev=630668&view=rev
Log:
Fix a bug where _platform_check_size was being called without a class
reference when USE_SMAPS=0.  Export Apache::SizeLimit::Core package
variables to Apache::SizeLimit and Apache2::SizeLimit namespace.

Reviewed-By:  phred, geoff
Submitted-By: Jeremy Goodridge <[EMAIL PROTECTED]>
Modified-By:  Fred Moyer <[EMAIL PROTECTED]>
Message-ID:   47BD8407.8020802 () modperlcookbook ! org


Modified:
    perl/Apache-SizeLimit/trunk/Changes
    perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm
    perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit/Core.pm
    perl/Apache-SizeLimit/trunk/lib/Apache2/SizeLimit.pm
    perl/Apache-SizeLimit/trunk/t/response/TestApache/basic.pm
    perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm

Modified: perl/Apache-SizeLimit/trunk/Changes
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/Changes?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/Changes (original)
+++ perl/Apache-SizeLimit/trunk/Changes Sun Feb 24 12:20:07 2008
@@ -8,6 +8,13 @@
 
 =item 0.92-dev
 
+Export USE_SMAPS, VERSION, and REQUEST_COUNT to Apache::SizeLimit
+from Apache::SizeLimit::Core.
+Call _platform_check_size as a class method to prevent error when
+USE_SMAPS=0, RT #33303
+Reported by: [EMAIL PROTECTED]
+[Fred Moyer <[EMAIL PROTECTED]>]
+
   *********** HEADS UP - SHARED CODE BASE - HEADS UP  ***********
   Apache-SizeLimit has been hybridized.
   It has been split into 3 packages.  

Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm (original)
+++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit.pm Sun Feb 24 12:20:07 2008
@@ -32,6 +32,9 @@
                              $MIN_SHARE_SIZE
                              $CHECK_EVERY_N_REQUESTS
                              $START_TIME
+                             $USE_SMAPS
+                             $VERSION
+                             $REQUEST_COUNT
                             );
 use vars qw(@ISA);
 @ISA = qw(Apache::SizeLimit::Core);

Modified: perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit/Core.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit/Core.pm?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit/Core.pm (original)
+++ perl/Apache-SizeLimit/trunk/lib/Apache/SizeLimit/Core.pm Sun Feb 24 
12:20:07 2008
@@ -38,6 +38,9 @@
 @ISA = qw(Exporter);
 
 @EXPORT_OK = qw(
+                $VERSION
+                $REQUEST_COUNT
+                $USE_SMAPS
                 $MAX_PROCESS_SIZE
                 $MAX_UNSHARED_SIZE
                 $MIN_SHARE_SIZE
@@ -111,7 +114,9 @@
 }
 
 sub _check_size {
-    my ($size, $share) = _platform_check_size();
+    my $class = shift;
+
+    my ($size, $share) = $class->_platform_check_size();
 
     return ($size, $share, $size - $share);
 }

Modified: perl/Apache-SizeLimit/trunk/lib/Apache2/SizeLimit.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/lib/Apache2/SizeLimit.pm?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/lib/Apache2/SizeLimit.pm (original)
+++ perl/Apache-SizeLimit/trunk/lib/Apache2/SizeLimit.pm Sun Feb 24 12:20:07 
2008
@@ -40,6 +40,9 @@
                              $MIN_SHARE_SIZE
                              $CHECK_EVERY_N_REQUESTS
                              $START_TIME
+                             $USE_SMAPS
+                             $VERSION
+                             $REQUEST_COUNT
                             );
 our @ISA = qw(Apache::SizeLimit::Core);
 

Modified: perl/Apache-SizeLimit/trunk/t/response/TestApache/basic.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache/basic.pm?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache/basic.pm (original)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache/basic.pm Sun Feb 24 
12:20:07 2008
@@ -15,7 +15,7 @@
 sub handler {
     my $r = shift;
 
-    plan $r, tests => 12;
+    plan $r, tests => 13;
 
     ok( ! Apache::SizeLimit->_limits_are_exceeded(),
         'check that _limits_are_exceeded() returns false without any limits 
set' );
@@ -23,6 +23,15 @@
     {
         my ( $size, $shared ) = Apache::SizeLimit->_check_size();
         cmp_ok( $size, '>', 0, 'proc size is reported > 0' );
+
+        {
+            # test with USE_SMAPS=0
+            my $smaps = $Apache::SizeLimit::USE_SMAPS;
+            $Apache::SizeLimit::USE_SMAPS = 0;
+            my ( $size, $shared ) = Apache::SizeLimit->_check_size();
+            cmp_ok( $size, '>', 0, 'proc size is reported > 0' );
+            $Apache::SizeLimit::USE_SMAPS = $smaps;
+        }
 
     SKIP:
         {

Modified: perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm
URL: 
http://svn.apache.org/viewvc/perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm?rev=630668&r1=630667&r2=630668&view=diff
==============================================================================
--- perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm (original)
+++ perl/Apache-SizeLimit/trunk/t/response/TestApache2/basic.pm Sun Feb 24 
12:20:07 2008
@@ -15,7 +15,7 @@
 sub handler {
     my $r = shift;
 
-    plan $r, tests => 9;
+    plan $r, tests => 10;
 
     ok( ! Apache2::SizeLimit->_limits_are_exceeded(),
         'check that _limits_are_exceeded() returns false without any limits 
set' );
@@ -23,6 +23,15 @@
     {
         my ( $size, $shared ) = Apache2::SizeLimit->_check_size();
         cmp_ok( $size, '>', 0, 'proc size is reported > 0' );
+
+        {
+            # test with USE_SMAPS=0
+            my $smaps = $Apache2::SizeLimit::USE_SMAPS;
+            $Apache2::SizeLimit::USE_SMAPS = 0;
+            my ( $size, $shared ) = Apache2::SizeLimit->_check_size();
+            cmp_ok( $size, '>', 0, 'proc size is reported > 0' );
+            $Apache2::SizeLimit::USE_SMAPS = $smaps;
+        }
 
     SKIP:
         {


Reply via email to