Hi,

I tried searching on the Internet and I have "The Apache Modules Book" by Nick Kew. I haven't been able to find an answer to my question so far.

I am writing an Apache module that will spawn a configurable number of "server-type" processes. The Apache module will handle incoming requests and forward them to these spawned server processes.

I would like to use the apr_proc API to spawn these processes and manage them (e.g. kill, respawn if crashed, etc.). It seems as though the apr_proc function calls are well-equipped to handle this situation. The documentation I've seen (http://apr.apache.org/docs/apr/1.2) doesn't provide enough detail for me to grasp how to use the more advanced part of this API.

It seems as though I want to spawn these server processes as detached and then use apr_proc_other_child_register() to register a maintenance callback so that I can be notified if they are killed. It seems as though to make this mechanism work, I'll need to call apr_proc_other_child_refresh_all() to refresh the status (which will call the maintenance function, as needed).

Is this the correct approach?

I suppose I could also start a thread that starts the server process not detached and waits with apr_proc_wait(). This approach seems convoluted and it raises the question of how to cull the server processes that are spawned from the thread.

I hope that I've described the problem clearly enough. Any help you can give me would be greatly appreciated.

Regards,

Erik.

Reply via email to