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; }