prmask.c

来自「unix环境高级编程的源代码」· C语言 代码 · 共 24 行

C
24
字号
#include    <errno.h>
#include    <signal.h>
#include    "ourhdr.h"

void
pr_mask(const char *str)
{
    sigset_t    sigset;
    int            errno_save;

    errno_save = errno;        /* we can be called by signal handlers */
    if (sigprocmask(0, NULL, &sigset) < 0)
        err_sys("sigprocmask error");

    printf("%s", str);
    if (sigismember(&sigset, SIGINT))    printf("SIGINT ");
    if (sigismember(&sigset, SIGQUIT))    printf("SIGQUIT ");
    if (sigismember(&sigset, SIGUSR1))    printf("SIGUSR1 ");
    if (sigismember(&sigset, SIGALRM))    printf("SIGALRM ");
        /* remaining signals can go here */
    printf("\n");
    errno = errno_save;
}

⌨️ 快捷键说明

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