Stas Bekman wrote:
apr_brigade_cleanup looks wrong:
APU_DECLARE(apr_status_t) apr_brigade_cleanup(void *data)
{
apr_bucket_brigade *b = data;
apr_bucket *e;
shouldn't it be:
apr_bucket_brigade *b = (apr_bucket_brigade *)data;
why does it have (void *data) argument? why is this inconsistent with:
APU_DECLARE(apr_status_t) apr_brigade_destroy(apr_bucket_brigade *b);
it seems to work fine on linux but on windows causes all kind of crashes.
Well, I see why it was made like this. this is because of the cleanup
wrapper:
APU_DECLARE(apr_status_t) apr_brigade_destroy(apr_bucket_brigade *b)
{
apr_pool_cleanup_kill(b->p, b, brigade_cleanup);
return apr_brigade_cleanup(b);
}
but why apr_brigade_cleanup should be affected? what's wrong with:
static apr_status_t brigade_cleanup(void *data)
{
return apr_brigade_cleanup((void *)data);
}
APU_DECLARE(apr_status_t) apr_brigade_cleanup(apr_bucket_brigade *b)
{ ... }
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com