Hello all,
In multi-threaded programming, suppose you have multiple threads in a
process. We would have a signal mask
for the entire process. I would define signal handlers for all the
asynchronous signals that have to be handled by the user. Now if any
such signal arrives and it will be handled by a thread which has been
waiting for that event. While this thread is executing the signal
handler, same signal arrives again. To make it asynch-safe, If I have
masked the signal then will it wait till this thread completes the
signal handler and the signal is unmasked to the handled again. Will
there be no issues at all. If yes, how can that be handled. How does
the OS handle this while executing default action for signal handlers.
Any inputs on this are highly appreciated.
Thanks and Regards,
Push