[...]
> 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