sig_block.c

来自「daemontools-0.76.tar.gz是在linux环境下自动监控进程的」· C语言 代码 · 共 41 行

C
41
字号
/* Public domain. */#include <signal.h>#include "sig.h"#include "hassgprm.h"void sig_block(int sig){#ifdef HASSIGPROCMASK  sigset_t ss;  sigemptyset(&ss);  sigaddset(&ss,sig);  sigprocmask(SIG_BLOCK,&ss,(sigset_t *) 0);#else  sigblock(1 << (sig - 1));#endif}void sig_unblock(int sig){#ifdef HASSIGPROCMASK  sigset_t ss;  sigemptyset(&ss);  sigaddset(&ss,sig);  sigprocmask(SIG_UNBLOCK,&ss,(sigset_t *) 0);#else  sigsetmask(sigsetmask(~0) & ~(1 << (sig - 1)));#endif}void sig_blocknone(void){#ifdef HASSIGPROCMASK  sigset_t ss;  sigemptyset(&ss);  sigprocmask(SIG_SETMASK,&ss,(sigset_t *) 0);#else  sigsetmask(0);#endif}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?