On 2012-02-28 22:05, Ben Rockefeller wrote:
> Hello,
>
> I have a module which creates a thread using pthread_create and then
> registers for SIGRTMIN+4 signal from another process. Problem is I do not
> see a signal callback when the signal is sent to me. I only see it when I
> try to kill apache where just before dying it hits the signal callback.
>
> So something in Apache is blocking the signal. I am using worker MPM.
> What could be the issue. I do not have much leeway into changing the design
> of the module (the threading model comes from a separate lib which I link
> into the module)...but I can change to use a different signal than
> SIGRTMIN+4, etc.
> I can also change apache and recompile apache if needed.
>
> Please let me know if you have any suggestions. I have been stuck at this
> for a while now :-(
>
> Thanks
>
In which hook do you create your thread and you register your signal
handler?
Right after executing the child_init callbacks, apache blocks the
threads from receiving most signals.
Check the list of blocked/ignored/caught signals using "ps axs" in a shell.
Sorin
|