Samisa Abeysinghe wrote:
Uthaiyashankar wrote:
Hi,
Since apache is creating child processes using fork (in linux), only
possible option to share data between children is using an ipc
method. For example, creating Axis2_worker, conf_context and global
pool in a shared memory, and sharing between processes (using
apr_shm, apr_rmm). We can use global mutex to control the access of
shared memory. An example implementation is given in
http://people.apache.org/~sctemme/mod_example_ipc.c.
mod_ldap is also using a similar approach to cache and share data
between child processes.
However, to hide the low level details from service/module
implementers, we might have to write a wrapper to manage the shared
memory, growing/shrinking the shared memory according to the demand,
creating objects in shared memory, etc.
It is also possible to use apr_dbm/apr_memcache to share data, but
those are similar to using a database.
Any other thoughts or comments ??
+1 for shared memory model with a wrapper.
This means that we would have to keep the description hierarchy and
the context hierarchy in this shared memory space.
BTW, the wrapper for shared memory manipulation has to use some APR
stuff. Hence I propose that we keep that in the Apache2 httpd module
folder itself rather than having it in axutil.
Thanks,
Samisa...
Thanks,
Samisa...
--
Samisa Abeysinghe
http://people.apache.org/~samisa/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]