信号屏蔽字&信号未决字

2017-11-15 by Liangsm_

#include "io.h"#include <signal.h>void sighandler(int signo){ sigset_t newset, oldset; sigset_t pendset; sigprocmask(SIG_SETMASK, NULL, &oldset); int i = 0; printf("mask:"); /*sigpending(&pendset);*/ if (sigismember(&oldset, signo)) { printf("Ctrl+z!/n"); }#if 0 for (; i < 32; i++) { printf("%d", (oldset.sig[0] >> (31 - i)) & 0x1); } printf("/n");#endif sigpending(&pendset); printf("pend:"); if (sigismember(&pendset, signo)) { printf("Ctrl+z!/n");#if 0 for (; i < 32; i++) { printf("%d", (pendset.sig[0] >> (31 - i)) & 0x1); } printf("/n");#endif sleep(3); } int main(int argc, char const * argv[]) { sigset_t set; sigemptyset(&set); sigaddset(&set, SIGTSTP); sigprocmask(SIG_SETMASK, NULL, ); signal(SIGTSTP, sighandler); while (1)sleep(1); return 0; }
最新更新:

第七城市

栏目导航(关闭)