geoff       2004/01/28 05:54:36

  Modified:    t/apr    .cvsignore
               xs/APR/Brigade APR__Brigade.h
               xs/maps  apr_functions.map apr_structures.map
               xs/tables/current/Apache StructureTable.pm
               xs/tables/current/ModPerl FunctionTable.pm
  Added:       t/response/TestAPR brigade.pm
  Log:
  add APR::Brigade::pool() to allow access to the pool associated with
  the brigade
  
  Revision  Changes    Path
  1.10      +1 -0      modperl-2.0/t/apr/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/t/apr/.cvsignore,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- .cvsignore        23 Jan 2004 19:34:43 -0000      1.9
  +++ .cvsignore        28 Jan 2004 13:54:20 -0000      1.10
  @@ -14,3 +14,4 @@
   threadmutex.t
   finfo.t
   flatten.t
  +brigade.t
  
  
  
  1.1                  modperl-2.0/t/response/TestAPR/brigade.pm
  
  Index: brigade.pm
  ===================================================================
  package TestAPR::brigade;
  
  use strict;
  use warnings FATAL => 'all';
  
  use Apache::Test;
  use Apache::TestUtil;
  
  use Apache::RequestRec ();
  use APR::Brigade ();
  
  use Apache::Const -compile => 'OK';
  
  sub handler {
  
      my $r = shift;
  
      plan $r, tests => 4;
  
      # simple constructor and accessor tests
  
      my $bb = APR::Brigade->new($r->pool, $r->connection->bucket_alloc);
  
      t_debug('$bb is defined');
      ok defined $bb;
  
      t_debug('$bb ISA APR::Brigade object');
      ok $bb->isa('APR::Brigade');
  
      my $pool = $bb->pool;
  
      t_debug('$pool is defined');
      ok defined $pool;
  
      t_debug('$pool ISA APR::Pool object');
      ok $pool->isa('APR::Pool');
  
      Apache::OK;
  }
  
  1;
  
  
  
  1.7       +10 -0     modperl-2.0/xs/APR/Brigade/APR__Brigade.h
  
  Index: APR__Brigade.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/APR/Brigade/APR__Brigade.h,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- APR__Brigade.h    27 Jan 2004 16:34:36 -0000      1.6
  +++ APR__Brigade.h    28 Jan 2004 13:54:27 -0000      1.7
  @@ -68,6 +68,16 @@
   }
   
   static MP_INLINE
  +apr_pool_t *mpxs_APR__Brigade_pool(apr_bucket_brigade *brigade)
  +{
  +    /* eesh, it's r->pool, and c->pool, but bb->p 
  +     * let's make Perl consistent, otherwise this could be autogenerated
  +     */
  +
  +    return brigade->p;
  +}
  +
  +static MP_INLINE
   SV *mpxs_APR__Brigade_length(pTHX_ apr_bucket_brigade *bb,
                                int read_all)
   {
  
  
  
  1.68      +1 -0      modperl-2.0/xs/maps/apr_functions.map
  
  Index: apr_functions.map
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_functions.map,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- apr_functions.map 27 Jan 2004 16:34:36 -0000      1.67
  +++ apr_functions.map 28 Jan 2004 13:54:35 -0000      1.68
  @@ -99,6 +99,7 @@
    mpxs_APR__Brigade_empty        #APR_BRIGADE_EMPTY
    mpxs_APR__Brigade_length | | bb, read_all=1
    mpxs_APR__Brigade_flatten | | bb, pool, sv_len=0
  + mpxs_APR__Brigade_pool
   
   MODULE=APR::Bucket
    mpxs_APR__Bucket_is_flush       #APR_BUCKET_IS_FLUSH
  
  
  
  1.11      +6 -0      modperl-2.0/xs/maps/apr_structures.map
  
  Index: apr_structures.map
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/maps/apr_structures.map,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- apr_structures.map        17 Dec 2003 19:46:15 -0000      1.10
  +++ apr_structures.map        28 Jan 2004 13:54:35 -0000      1.11
  @@ -28,6 +28,12 @@
   >  list
   </apr_bucket>
   
  +<apr_bucket_brigade>
  +~  pool
  +>  list
  +>  bucket_alloc
  +</apr_bucket_brigade>
  +
   <apr_finfo_t>
      pool
      valid
  
  
  
  1.37      +17 -0     modperl-2.0/xs/tables/current/Apache/StructureTable.pm
  
  Index: StructureTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/Apache/StructureTable.pm,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- StructureTable.pm 30 May 2003 12:55:14 -0000      1.36
  +++ StructureTable.pm 28 Jan 2004 13:54:36 -0000      1.37
  @@ -1194,6 +1194,23 @@
       ]
     },
     {
  +    'type' => 'apr_bucket_brigade',
  +    'elts' => [
  +      {
  +        'type' => 'apr_pool_t *',
  +        'name' => 'p'
  +      },
  +      {
  +        'type' => '_ANON 68',
  +        'name' => 'link'
  +      },
  +      {
  +        'type' => 'apr_bucket_alloc_t *',
  +        'name' => 'bucket_alloc'
  +      }
  +    ]
  +  },
  +  {
       'type' => 'apr_bucket_alloc_t',
       'elts' => []
     },
  
  
  
  1.141     +10 -0     modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm
  
  Index: FunctionTable.pm
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/tables/current/ModPerl/FunctionTable.pm,v
  retrieving revision 1.140
  retrieving revision 1.141
  diff -u -r1.140 -r1.141
  --- FunctionTable.pm  27 Jan 2004 16:34:36 -0000      1.140
  +++ FunctionTable.pm  28 Jan 2004 13:54:36 -0000      1.141
  @@ -6444,6 +6444,16 @@
       ]
     },
     {
  +    'return_type' => 'apr_pool_t *',
  +    'name' => 'mpxs_APR__Brigade_pool',
  +    'args' => [
  +      {
  +        'type' => 'apr_bucket_brigade *',
  +        'name' => 'brigade'
  +      },
  +    ]
  +  },
  +  {
       'return_type' => 'SV *',
       'name' => 'mpxs_APR__Brigade_length',
       'args' => [
  
  
  

Reply via email to