C語言中查詢進程信號是否被遮罩或擱置的簡單方法
C語言sigprocmask()函數:查詢或設置信號遮罩
頭文件:
#include <signal.h>
定義函數:
int sigprocmask(int how, const sigset_t *set, sigset_t * oldset);
函數說明:sigprocmask()可以用來改變目前的信號遮罩, 其操作依參數how 來決定:
1、SIG_BLOCK 新的信號遮罩由目前的信號遮罩和參數set 指定的信號遮罩作聯集
2、SIG_UNBLOCK 將目前的信號遮罩刪除掉參數set 指定的信號遮罩
3、SIG_SETMASK 將目前的信號遮罩設成參數set 指定的信號遮罩. 如果參數oldset 不是NULL 指針, 那么目前的信號遮罩會由此指針返回.
返回值:執(zhí)行成功則返回0, 如果有錯誤則返回-1.
錯誤代碼:
1、EFAULT 參數set, oldset 指針地址無法存取.
2、EINTR 此調用被中斷。
C語言sigpending()函數:查詢被擱置的信號
頭文件:
#include <signal.h>
定義函數:
int sigpending(sigset_t *set);
函數說明:sigpending()會將被擱置的信號集合由參數set 指針返回. 返回值執(zhí)行成功則返回 0, 如果有錯誤則返回-1.
錯誤代碼:
1、EFAULT 參數set 指針地址無法存取
2、EINTR 此調用被中斷.
相關文章
C++ 創(chuàng)建桌面快捷方式 開始菜單的實現代碼
這篇文章介紹了C++ 創(chuàng)建桌面快捷方式,開始菜單的實現代碼,需要的朋友可以參考一下2013-06-06