sigset.c

来自「用于嵌入式Linux系统的标准C的库函数」· C语言 代码 · 共 62 行

C
62
字号
#include <signal.h>#include <errno.h>#if defined(SIG_SETMASK) && NSIG <= 32	/* easier than trying to remove from Makefile */#undef sigemptysetintsigemptyset (sigset_t * set){  *set = (sigset_t) 0;  return 0;}intsigfillset (sigset_t * set){  *set = ~((sigset_t) 0);  return 0;}#undef sigaddsetintsigaddset (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 + -
显示快捷键?