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]

Reply via email to