Branko Čibej wrote:
Graham Leggett wrote:
Branko Čibej wrote:
Oh, certainly. Except that sometimes the "just" is a pretty big one. I
remember once ... well, to make a long story short, control over pool
lifetime wasn't, and we ended up jumping through several Klein bottles
to get there.
Unless I am not following something, you control the pool lifetime.
Not if you have no control of pool cleanup order, which is exactly what
happens when you try to allocate long-lived structure in a DSO; the way
we do pool cleanup guarantees that the DSO gets unloaded before any
global pools are cleaned up.
You could say that the answer is "don't do that", but sometimes there's
no other option.
There is a new apr_poll_pre_cleanup_register API, meant to
be used exactly for that. It ensures that cleanup will run
before subpools gets destroyed.
Regards
--
^(TM)