防止中斷後系統調用重啓動的signal函數。

源代碼:

vim 10_19.c
#include "apue.h"


Sigfunc * signal_intr(int signo,Sigfunc *func)
{
        struct sigaction act,oact;
        act.sa_handler = func;
        sigemptyset(&act.sa_mask);
        act.sa_flags = 0;
#ifdef SA_INTERRUPT
        act.sa_flags |= SA_INTERRUPT;
#endif
        if (sigaction(signo,&act,&oact) < 0)
                return (SIG_ERR);
        return (oact.sa_handler);
}
~
~
~
~
~
~
~
~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章