- NAME
- Synopsis
- Description
  - new
  - destroy
- See Also
- Copyright
- Authors

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