use APR::BucketAlloc (); $ba = APR::BucketAlloc->new($pool); $ba->destroy;
$ba = APR::BucketAlloc->new($pool);
This bucket allocation list (freelist) is used to create new buckets (via "APR::Bucket->new") and bucket brigades (via "APR::Brigade->new").
You only need to use this method if you aren't running under httpd. If you are running under mod_perl, you already have a bucket allocation available via "$c->bucket_alloc" and "$bb->bucket_alloc".
use APR::BucketAlloc (); use APR::Pool (); my $ba = APR::BucketAlloc->(APR::Pool->pool); my $eos_b = APR::Bucket::eos_create($ba);
Once destroyed this object may not be used again.
You need to destroy $ba only if you have created it via "APR::BucketAlloc->new". If you try to destroy an allocation not created by this method, you will get a segmentation fault.
Moreover normally it is not necessary to destroy allocators, since the pool which created them will destroy them during that pool's cleanup phase.