[...] > Sorry. Here's the net, correct patch applied to apr_pools.c; > > Index: apr_pools.c > =================================================================== > RCS file: /home/cvs/apr/memory/unix/apr_pools.c,v > retrieving revision 1.101 > retrieving revision 1.103 > diff -u -r1.101 -r1.103 > --- apr_pools.c 2001/07/14 22:31:38 1.101 > +++ apr_pools.c 2001/07/23 22:38:36 1.103 > @@ -738,23 +738,21 @@ > } > } > > -APR_DECLARE(void) apr_pool_child_cleanup_kill(apr_pool_t *p, > const void *data, > - apr_status_t (*cleanup) (void *)) > +APR_DECLARE(void) apr_pool_child_cleanup_set(apr_pool_t *p, > const void *data, > + apr_status_t > (*plain_cleanup) (void *), > + apr_status_t > (*child_cleanup) (void *)) > { > struct cleanup *c; > - struct cleanup **lastp; > > if (p == NULL) > return; > c = p->cleanups; > - lastp = &p->cleanups; > while (c) { > - if (c->data == data && c->child_cleanup == cleanup) { > - *lastp = c->next; > + if (c->data == data && c->plain_cleanup == plain_cleanup) { > + c->child_cleanup == child_cleanup; ^^ This won't do much...
> break; > } > > - lastp = &c->next; > c = c->next; > } > } Sander