if (sigaction (SIGINT,&query_action) < 0)
/ sigaction returns -1 in case of error. /
else if (query_action.sa_handler == SIG_DFL)
/ SIGINT is handled in the default,fatal manner. /
else if (query_action.sa_handler == SIG_IGN)
/ SIGINT is ignored. /
else
/ A programmer-defined signal handler is in effect. /
sigaction
sa_flagsmember of thesigaction structure is a catch-all for special features. Most of the time,SA_RESTART is a good value to use for this field.
sa_flagsis interpreted as a bit mask. Thus,you should choose the flags you want to set,OR those flags together,and store the result in thesa_flags member of yoursigaction structure.
sigactionaffects one particular signal number,and the flags that you specify apply only to that particular signal.
signalsets all the flags to zero except forSA_RESTART ,whose value depends on the settings you have made withsiginterrupt . See section,to see what this is about.
`signal.h'.
intSA_NOCLDSTOP
-
This flag is meaningful only for the
SIGCHLD signal. When the flag is set,the system delivers the signal for a terminated child process but not for one that is stopped. By default,SIGCHLD is delivered for both terminated children and stopped children. (编辑:威海站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|