Stas Bekman <[EMAIL PROTECTED]> writes:

> Joe Schaefer wrote:

[...]

> > ==================================================
> > MODULE = APR::Brigade    PACKAGE = APR::Brigade   PREFIX = apr_brigade_
> > apr_status_t
> > apr_brigade_cleanup(data)
> >     void * data
> > ==================================================
> > I think mp2 is using the wrong typemap here (void *), which may be
> > causing the $bb->cleanup segfaults on Win32.
> 
> Ah, what's wrong about it? the declaration is:
> 
> APU_DECLARE(apr_status_t) apr_brigade_cleanup(void *data);


You're right, that shouldn't be the cause of the problem,
although that's a very odd signature for this function
(since *data must always be an apr_bucket_brigade *).

AFAICT the only functional difference between apr_brigade_cleanup
and apr_brigade_destroy is the pool cleanup getting deregistered
by apr_brigade_destroy.  I'll take a closer look when I get a 
chance, but I don't think this should hold up 1.99_15- just
keep in mind that by calling $b->remove here (just to clear the 
brigade for another ap_get_brigade call) you are creating a 
memory leak, because those removed buckets will not get cleaned 
up.

-- 
Joe Schaefer


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to