Chinaunix

标题: SA_RESTART的问题 [打印本页]

作者: liuhuan911    时间: 2007-05-14 11:14
标题: SA_RESTART的问题
书上说如果安装信号处理器时,设置了SA_RESTART,系统调用就会重启
void handler(int signo)
{
        printf("i got the signal %d\n",signo);
}

int main()
{
        struct sigaction action;
        sigset_t set;
        printf("waiting for signal\n");
       
        action.sa_handler=handler;
        sigemptyset(&action.sa_mask);
        action.sa_flags|=SA_RESTART;
        sigaction(SIGTERM,&action,NULL);

        sleep(50);

        printf("the sleep exit.\n");
}

那么在sleep期间有SIGTERM信号到来的话,sleep会重启
但是程序中却没有重启,而是中断了。是怎么回事?

[ 本帖最后由 liuhuan911 于 2007-5-14 11:18 编辑 ]
作者: R.wen    时间: 2007-05-14 17:35
does sleep restart?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2