Start Apache (worker MPM or prefork MPM), then send it sigusr1... here
is what happens to mod_cgid:
accept(11, 0xbffffb34, [110]) = ? ERESTARTSYS (To be restarted)
--- SIGHUP (Hangup) ---
Now send sighup to Apache... here is what happens to mod_cgid:
accept(11, 0xbffffb34, [110]) = ? ERESTARTSYS (To be restarted)
--- SIGHUP (Hangup) ---
accept(11,
Cool, huh? Now we have to cgids*:
29601 29699 070 unix_a S ? 00:00:00 lt-httpd
29705 29487 040 unix_a S ? 00:00:00 lt-httpd
After sending SIGTERM, I'm left with cgid 29601, the one that refused
to die.
*the original instance is listening to the old, deleted
cgisock "file"; the new instance is listening to the current cgisock
"file" and will handle any new cgi requests
The difference is that after the first restart request, we execute
this line in the parent process:
/* we've been told to restart */
apr_signal(SIGHUP, SIG_IGN);
So when the cgid daemon is forked off again it no longer dies on
SIGHUP.
I'll give cgid a signal handler so that it won't be affected by any
signal handlers set up by the MPM.
--
Jeff Trawick | [EMAIL PROTECTED]
Born in Roswell... married an alien...