sigset.c

来自「标准c库代码,可以应用于各个系统提供了大量的基本函数」· C语言 代码 · 共 60 行

C
60
字号
#include <signal.h>#include <errno.h>#ifdef SIG_SETMASK	/* easier than trying to remove from Makefile */intsigemptyset (sigset_t * set){  *set = (sigset_t) 0;  return 0;}intsigfillset (sigset_t * set){  *set = ~((sigset_t) 0);  return 0;}intsigaddset (sigset_t * set, int signo){  if (signo >= NSIG || signo <= 0)    {      errno = EINVAL;      return -1;    }  *set |= 1 << (signo - 1);  return 0;}intsigdelset (sigset_t * set, int signo){  if (signo >= NSIG || signo <= 0)    {      errno = EINVAL;      return -1;    }  *set &= ~(1 << (signo - 1));  return 0;}intsigismember (const sigset_t * set, int signo){  if (signo >= NSIG || signo <= 0)    {      errno = EINVAL;      return -1;    }  if (*set & (1 << (signo - 1)))    return 1;  else    return 0;}#endif /* SIG_SETMASK */

⌨️ 快捷键说明

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