Author: stas
Date: Fri Dec 31 15:40:23 2004
New Revision: 123832

URL: http://svn.apache.org/viewcvs?view=rev&rev=123832
Log:
no need for a special handling of out-of-scope pools for $b->setaside($p)
as it's already handled internally by APR

Modified:
   perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm
   perl/modperl/trunk/todo/release
   perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h

Modified: perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm?view=diff&rev=123832&p1=perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm&r1=123831&p2=perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm&r2=123832
==============================================================================
--- perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm       (original)
+++ perl/modperl/trunk/t/lib/TestAPRlib/bucket.pm       Fri Dec 31 15:40:23 2004
@@ -190,6 +190,13 @@
 
     # setaside on out-of-scope pools
     {
+        # note that at the moment APR internally handles the situation
+        # when the pool goes out of scope, so modperl doesn't need to do
+        # any special handling of the pool object passed to setaside()
+        # to insure that it survives as long as $b is alive
+        #
+        # to make sure that this doesn't change internally in APR, the
+        # sub-test remains here
         my $data = "A" x 10;
         my $orig = $data;
         my $b = APR::Bucket->new($ba, $data);

Modified: perl/modperl/trunk/todo/release
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/todo/release?view=diff&rev=123832&p1=perl/modperl/trunk/todo/release&r1=123831&p2=perl/modperl/trunk/todo/release&r2=123832
==============================================================================
--- perl/modperl/trunk/todo/release     (original)
+++ perl/modperl/trunk/todo/release     Fri Dec 31 15:40:23 2004
@@ -37,8 +37,3 @@
 
   APR::Bucket:
   V apr_bucket_alloc_create
-  ? mpxs_APR__Bucket_setaside
-        (the wrapper is done, but the test is not reproducing the
-        problem, but this seems to be a problem in
-        modperl_bucket_sv_setaside which loses the newly seta-aside
-        bucket)

Modified: perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h
Url: 
http://svn.apache.org/viewcvs/perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h?view=diff&rev=123832&p1=perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h&r1=123831&p2=perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h&r2=123832
==============================================================================
--- perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h      (original)
+++ perl/modperl/trunk/xs/APR/Bucket/APR__Bucket.h      Fri Dec 31 15:40:23 2004
@@ -112,8 +112,12 @@
     if (GIMME_V == G_VOID && rc != APR_SUCCESS) {
         modperl_croak(aTHX_ rc, "APR::Bucket::setaside");
     }
-    
-    //mpxs_add_pool_magic(b_sv, p_sv);
+
+    /* No need to call mpxs_add_pool_magic(b_sv, p_sv); since
+     * pool_bucket_cleanup is called by apr_bucket_pool_make (called
+     * by modperl_bucket_sv_setaside) if the pool goes out of scope,
+     * copying the data to the heap.
+     */
     
     return rc;
 }

Reply via email to