[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [LTP] fatal signal handling
>>>>> "aaron" == Aaron Laffin <laffinaw@acm.org> writes:
Hi
aaron> Unlike on BSD systems, signals under Linux are reset to
aaron> their default behavior when raised. However, if you
aaron> include <bsd/signal.h> instead of <signal.h> then signal
aaron> is redefined as __bsd_signal and signal has the BSD seman<AD>
aaron> tics. Both versions of signal are library routines built
aaron> on top of sigaction(2).
My debian system has this on the signal manpage, and it appears to
describe exactly what are you seing.
Upon arrival of a signal with number signum the following
happens. If the corresponding handler is set to SIG_IGN,
then the signal is ignored. If the handler is set to
SIG_DFL, then the default action associated to the signal
(see signal(7)) occurs. Finally, if the handler is set to
a function sighandler then the signal is blocked and
sighandler is called with argument signum. The signal
remains blocked during the execution of the signal
handler.
aaron> However, when I ran the following snippit, my rh6.2 system went into the
aaron> infinite recursion:
With your program I get also the recursive behaviour, but It matches
very well the manpage semantics.
Hope this helps.
Later, Juan.
PD.: I will also preffer to use sigaction and the test to behave the
same in all the systems.
--
In theory, practice and theory are the same, but in practice they
are different -- Larry McVoy