You're partially correct. Here's whatz happening: 

worker.c: child_main() invokes apr_setup_signal_thread()
signals.c: apr_setup_signal_thread() 
           -> sigfillset(&sig_mask);
              remove_sync_sigs(&sig_mask);
              sigprocmask(SIG_SETMASK, &sig_mask, NULL)
              -> Thus disabling the delivery of async signals to the process

mod_cgi comes along, forks a child process and happily inherits the signal mask from 
the parent (the only thing apr_proc_create() does is to change SIGCHLD to default 
behaviour).


-Madhu

>-----Original Message-----
>From: Jeff Trawick [mailto:[EMAIL PROTECTED]
>Sent: Tuesday, April 13, 2004 4:55 AM
>To: [EMAIL PROTECTED]
>Subject: Re: mod_cgi and apr_setup_signal_thread
>
>
>Mathihalli, Madhusudan wrote:
>> I'm using the worker MPM for both mod_cgi and mod_cgid.
>
>I don't see any httpd 2.0/apr 0.9 code which manipulates 
>SIGALRM.  Can you give 
>me a pointer?
>

Reply via email to