apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject Re: apr_XXX_set_inherit() brokenness
Date Mon, 23 Jul 2001 22:09:55 GMT
The Crux of the problem is in the disconnected way the entire cleanup API
is working.

apr_pool_child_cleanup_kill() is pure BS, since it also kills the plain cleanup.
Nobody uses it, so I'm killing the function.

I'll replace it with a apr_pool_child_cleanup_set() that allows you to replace
the original child cleanup with a new cleanup, given the void* and plain cleanup.

Bill

----- Original Message ----- 
From: "Jeff Trawick" <trawick@attglobal.net>
To: <dev@apr.apache.org>
Sent: Monday, July 23, 2001 3:11 PM
Subject: apr_XXX_set_inherit() brokenness


> two problems, I think:
> 
> 1) The special cleanup needs to be removed if the apr_foo is closed
>    before the pool goes away.
> 
>    Example:
> 
>      mod_file_cache/mmap-ed file
> 
>      open file
>      create mmap
>      close file
> 
>      The inherit cleanup is still in place at this point.
> 
> 2) Either there should be a no-op plain cleanup or the close-pool code
>    should not call plain_cleanup if that ptr is NULL.
> 
>    run_cleanups() unconditionally calls cleanup->plain_cleanup(), so
>    this tries to branch to zero if this is the inherit cleanup.
> 
> -- 
> Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
>        http://www.geocities.com/SiliconValley/Park/9289/
>              Born in Roswell... married an alien...
> 


Mime
View raw message