httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Amar <jal...@amar.com>
Subject Where to initialize a global pool/hash - server create or child_init?
Date Sun, 04 Jan 2009 03:03:54 GMT
Where to begin ....

I am creating a global pool/hash in which I save cached, hard to 
calculate data (pre-compiled regex expressions etc.). I also store pages 
I've created using this data in memcached (using the APR interface). I 
can't save the calculated regex data in memcached. I initially followed 
the advice of creating a private pool, hash and mutex inside a 
child_init hook in my server config structure, protecting all access 
with the mutex. The module works well enough in regular httpd. However, 
when I tried this in worker MPM I got constant:
[notice] child pid xxxxx exit signal Segmentation fault (11)
after a few page loads.

On a whim, I moved the whole creation of these structures into a server 
config hook. All these issues seem to have vanished. I have "theorized" 
that the pool I am creating at every child creation does not properly work.

I am looking for a discussion of the pros and cons of creating this in a 
per child hook, versus the one time server create hook and any other 
pointers to help decide (and debug) where/when I should use one or the 
other.

Boy, I hope this makes sense.


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message