亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 操作系統 > 正文

信號之信號集

2024-06-28 13:28:28
字體:
來源:轉載
供稿:網友
信號之信號集

我們需要有一個能表示多個信號——信號集(signal set)的數據類型。POSIX.1定義了數據類型sigset_t以包含一個信號集,并且定義了下列五個處理信號集的函數。

#include <signal.h>int sigemptyset(sigset_t *set);int sigfillset(sigset_t *set);int sigaddset(sigset_t *set, int signo);int sigdelset(sigset_t *set, int signo);四個函數的返回值:若成功則返回0,若出錯則返回-1int sigismember(const sigset_t *set, int signo);返回值:若真則返回1,若假則返回0,若出錯則返回-1

函數sigemptyset初始化由set指向的信號集,清除其中所有信號。

函數sigfillset初始化由set指向的信號集,使其包括所有信號。

所有應用程序在使用信號集前,要對該信號集調用sigemptyset或sigfillset一次。這是因為C編譯器將把未賦初值的外部和靜態變量都初始化為0,而這是否與給定系統上信號集的實現相對應卻并不清楚。

一旦初始化了一個信號集,以后就可以在該信號集中增、刪特定的信號。

函數sigaddset將一個信號添加到現有集中,sigdelset則從信號集中刪除一個信號。

對所有以信號集作為參數的函數,我們總是以信號集地址作為向其傳送的參數。

實例

如果實現的信號數目少于一個整型量所包含的位數,則可用一位代表一個信號的方法實現信號集。我們假定一種實現有31種信號和32位整型值。

sigemptyset函數將整型量設置為0,sigfillset函數則將整型量中的各個位都設置為1。

這兩個函數可以在<signal.h>頭文件中實現為宏:

#define    sigempty(ptr)      (*(ptr) = 0)#define    sigfillset(ptr)    (*(ptr) = ~(sigset_t)0, 0)

注意,除了設置信號集各位為1外,sigfillset必須返回0,所以使用C語言的逗號運算符(逗號運算符是所有運算符中級別最低的),它將逗號運算符后的值作為表達式的返回值。

使用這種實現,sigaddset打開一位(將該位設置為1),sigdelset則關閉一位(將該位設置為0),sigismember測試一指定位。

因為沒有編號為0的信號,所以從信號編碼中減去1以得到要處理位的位編碼數。

程序清單10-9 sigaddset、sigdelset和sigismember的實現

#include <signal.h>#include <errno.h>/* <signal.h> usually defines NSIG to include signal number 0 */#define    SIGBAD(signo)    ((signo) <= 0 || (signo) >= NSIG)intsigaddset(sigset_t *set, int signo){    if (SIGBAD(signo))    {        errno = EINVAL;        return(-1);    }    *set |= 1 << (signo - 1);    /* turn bit on */    return(0);}int sigdelset(sigset_t *set, int signo){    if (SIGBAD(signo))    {        errno = EINVAL;        return(-1);    }    *set &= ~(1 << (signo -1));    /* turn bit off */    return(0);}int sigismember(const sigset_t *set, int signo){    if (SIGBAD(signo))    {        errno = EINVAL;        return(-1);    }    return(*set & (1 << (signo - 1)) != 0);}

本篇博文內容摘自《UNIX環境高級編程》(第二版),僅作個人學習記錄所用。關于本書可參考:http://www.apuebook.com/。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看免费av| 国产精品免费观看在线| 91精品国产乱码久久久久久蜜臀| 欧美精品在线视频观看| 精品欧美一区二区三区| 亚洲xxxx妇黄裸体| 久久97精品久久久久久久不卡| 亚洲精品乱码久久久久久按摩观| 精品视频在线播放免| 国产成人午夜视频网址| 色狠狠av一区二区三区香蕉蜜桃| 国产视频自拍一区| 美女少妇精品视频| 久久视频在线看| 欧美日韩中文在线观看| 久久男人资源视频| 欧美亚洲国产精品| 久久99青青精品免费观看| 永久免费毛片在线播放不卡| 亚洲国产精品久久久久秋霞蜜臀| 欧美中文在线观看国产| 九九精品视频在线| 91精品国产成人www| 国产精品视频精品视频| 最近2019年中文视频免费在线观看| 久久中文精品视频| 亚洲视频第一页| 亚洲国内精品在线| 欧美天天综合色影久久精品| 日韩大陆毛片av| 亚洲欧美中文字幕在线一区| 国产精品久久久久福利| 久久久国产一区| 国产精品久久久久高潮| 亚洲成人黄色在线观看| 亚洲人成电影网站色www| 日韩中文字幕网| 日韩欧美中文字幕在线播放| 欧美裸身视频免费观看| 日韩亚洲一区二区| 91夜夜未满十八勿入爽爽影院| 国产精品自拍偷拍视频| 免费91麻豆精品国产自产在线观看| 欧美激情中文字幕在线| 深夜福利一区二区| 亚洲深夜福利视频| 亚洲精品影视在线观看| 欧美日韩性视频| 91精品国产九九九久久久亚洲| 日韩av在线网站| 日韩中文在线中文网三级| 国产aⅴ夜夜欢一区二区三区| 2019av中文字幕| 亚洲二区在线播放视频| 3344国产精品免费看| 国产在线久久久| 亚洲高清久久久久久| 国产精品白嫩美女在线观看| 欧美性精品220| 91亚洲精品在线观看| 国产精品成人国产乱一区| 国外成人在线播放| 欧美日韩电影在线观看| 日韩精品在线免费播放| 国产91精品黑色丝袜高跟鞋| 亚洲第一中文字幕在线观看| 日本午夜精品理论片a级appf发布| 成人国产精品久久久久久亚洲| 成人免费看吃奶视频网站| 欧美精品九九久久| 国产精品日韩电影| 宅男66日本亚洲欧美视频| 黄色91在线观看| 欧美极品欧美精品欧美视频| 久久精品国产96久久久香蕉| 欧美日韩美女视频| 欧洲精品在线视频| 欧美激情欧美激情| 亚洲美女av在线| 欧美视频在线视频| 高清欧美性猛交xxxx黑人猛交| 成人午夜一级二级三级| 不卡毛片在线看| 成人在线观看视频网站| 日韩一区在线视频| 欧美性生交大片免费| 国产精品九九久久久久久久| 中文字幕日韩在线观看| 日韩高清欧美高清| 日韩欧美精品网站| 国产成+人+综合+亚洲欧洲| 人人爽久久涩噜噜噜网站| 成人免费看吃奶视频网站| 国产脚交av在线一区二区| 日本欧美黄网站| 亚洲电影免费观看高清完整版在线| 国内精品一区二区三区四区| 91高清视频免费观看| 国产精品电影在线观看| 欧美夫妻性生活视频| 原创国产精品91| 欧美不卡视频一区发布| 自拍偷拍免费精品| 欧美日韩国产麻豆| 亚洲美女激情视频| 亚洲午夜小视频| 91亚洲精品久久久久久久久久久久| 欧美精品中文字幕一区| 久久久久久午夜| 欧美日韩亚洲一区二区三区| 成人动漫网站在线观看| 亚洲色图色老头| 26uuu亚洲国产精品| 97久久精品视频| 欧美猛男性生活免费| www日韩欧美| 欧美多人爱爱视频网站| 欧美电影院免费观看| 亚洲精品有码在线| 亚洲精品狠狠操| 亚洲黄色成人网| 久久久极品av| 91午夜在线播放| 2020国产精品视频| 久久婷婷国产麻豆91天堂| 午夜精品理论片| 韩国视频理论视频久久| 国产视频精品va久久久久久| 亚洲japanese制服美女| 国产精品69久久久久| 欧美在线一区二区视频| 国产91色在线|免| 欧美肥老太性生活视频| 一区二区三区在线播放欧美| 亚洲美女久久久| 岛国av一区二区在线在线观看| 日韩成人中文字幕在线观看| 国内自拍欧美激情| 亚洲图片在线综合| 91av在线视频观看| 久久久久久一区二区三区| 欧美精品videossex88| 中文字幕亚洲一区二区三区五十路| 亚洲3p在线观看| 最新中文字幕亚洲| 国内精品久久久久| 国产精品日韩在线观看| www.久久色.com| 亚洲欧洲一区二区三区在线观看| 亚洲一区二区三区四区视频| 国产在线高清精品| 91精品国产91久久久久| 国产精品亚洲аv天堂网| 色999日韩欧美国产| 最近的2019中文字幕免费一页| 九九热这里只有精品免费看| 91在线观看免费观看| 精品国产视频在线| 亚洲国产成人爱av在线播放| 国产精品入口福利| 亚洲va码欧洲m码| 亚洲无线码在线一区观看| 欧洲永久精品大片ww免费漫画| 欧美自拍视频在线观看|