为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

信号屏蔽字,sigsetjmp和siglongjmp

2017-11-28 3页 doc 31KB 5阅读

用户头像

is_594905

暂无简介

举报
信号屏蔽字,sigsetjmp和siglongjmp信号屏蔽字,sigsetjmp和siglongjmp > //10-14信号屏蔽字,sigsetjmp和siglongjmp #include #include #include #include #include #include static void sig_usr1(int),sig_alrm(int); static sigjmp_buf jmpbuf; static volatile sig_atomic_t canjump; pr_mask(const char *str); sta...
信号屏蔽字,sigsetjmp和siglongjmp
信号屏蔽字,sigsetjmp和siglongjmp <> //10-14信号屏蔽字,sigsetjmp和siglongjmp #include #include #include #include #include #include static void sig_usr1(int),sig_alrm(int); static sigjmp_buf jmpbuf; static volatile sig_atomic_t canjump; pr_mask(const char *str); static void int main(void ) { if(signal(SIGUSR1, sig_usr1) == SIG_ERR) "signal(sigusr) error"); perror( if (signal(SIGALRM, sig_alrm) == SIG_ERR) perror("signal(sig_alarm) error"); main: "); pr_mask("starting if (sigsetjmp(jmpbuf,1)){ "ending main: "); printf( exit(0); } canjump = 1; for ( ; ; ) pause(); } static void sig_usr1(int signo) { time_t starttime; if (canjump == 0) return ; pr_mask("starting sig_usr1: "); alarm(3); starttime = time(NULL); for ( ; ; ) if (time(NULL) > starttime +5 ) break; pr_mask("finishing sig_usr1: "); canjump = 0; siglongjmp(jmpbuf,1); } static void sig_alrm(int signo ) { printf("in sig_alrm\n"); } void pr_mask(const char *str) { sigset_t sigset; int errno_save; errno_save = errno; sigprocmask(0, NULL, &sigset) < 0) if ( perror("sigprocmask error"); printf("%s", str); if (sigismember(&sigset, SIGINT)) printf("SIGINT "); sigismember(&sigset, SIGQUIT)) if ( printf("SIGQUIT "); if (sigismember(&sigset, SIGUSR1)) ("SIGUSR1 "); printf if (sigismember(&sigset, SIGUSR2)) "SIGUSR2 "); printf( if (sigismember(&sigset, SIGALRM)) printf("SIGALRM "); printf("\n"); errno = errno_save; }
/
本文档为【信号屏蔽字,sigsetjmp和siglongjmp】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索