请输入您要查询的百科知识:

 

词条 sigprocmask()
释义

头文件

#include<signal.h>

函数原型

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);

函数说明

一个进程的信号屏蔽字规定了当前阻塞而不能递送给该进程的信号集。sigprocmask()可以用来检测或改变目前的信号屏蔽字,其操作依参数how来决定,如果参数oldset不是NULL指针,那么目前的信号屏蔽字会由此指针返回。每个进程都有一个用来描述哪些信号递送到进程时将被阻塞的信号集,该信号集中的所有信号在递送到进程后都将被阻塞。

参数how:

SIG_BLOCK 该进程新的信号屏蔽字是其当前信号屏蔽字和set指向信号集的并集。set包含了我
们希望阻塞的附加信号。

SIG_UNBLOCK 该进程新的信号屏蔽字是其当前信号屏蔽字和set所指向信号集的交集。set包含了
我们希望解除阻塞的信号.

SIG_SETMASK 该进程新的信号屏蔽是set指向的值 如果set是个空指针,则不改变该进程的信号屏蔽字,how的值也无意义。

返回值

执行成功返回0,失败返回-1。

错误代码

EFAULT 参数set,oldset指针地址无法存取

EINTR 此调用被中断

范例

#include <stdio.h>

#include <signal.h>

main()

{

sigset_t *set;

set=(sigset_t*)malloc(sizeof(set));

sigemptyset(set);

sigaddset(set,SIGINT);

sigprocmask(SIG_SETMASK,set,NULL);

while(1);

return 0;

}

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/12 6:03:31