Scroll to navigation

libapache2-mod-perl2-2.0.10::docs::api::APR::BucketAlloc(3pm) User Contributed Perl Documentation libapache2-mod-perl2-2.0.10::docs::api::APR::BucketAlloc(3pm)

NAME

APR::BucketAlloc - Perl API for Bucket Allocation

Synopsis

  use APR::BucketAlloc ();
  $ba = APR::BucketAlloc->new($pool);
  $ba->destroy;

Description

"APR::BucketAlloc" is used for bucket allocation.

"new"

Create an "APR::BucketAlloc" object:

  $ba = APR::BucketAlloc->new($pool);
class: "APR::BucketAlloc"
arg1: $pool ( "APR::Pool object" )
The pool used to create this object.
ret: $ba ( "APR::BucketAlloc object" )
The new object.
since: 2.0.00

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".

Example:

  use APR::BucketAlloc ();
  use APR::Pool ();
  my $ba = APR::BucketAlloc->(APR::Pool->pool);
  my $eos_b = APR::Bucket::eos_create($ba);

"destroy"

Destroy an "APR::BucketAlloc object":

  $ba->destroy;
arg1: $ba ( "APR::BucketAlloc object" )
The freelist to destroy.
ret: no return value
since: 2.0.00

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.

See Also

mod_perl 2.0 documentation.

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

Authors

The mod_perl development team and numerous contributors.
2018-11-15 perl v5.28.0