青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

旅途

如果想飛得高,就該把地平線忘掉

Linux信號機(jī)制之信號阻塞

? 每個(gè)進(jìn)程都有一個(gè)用來描述哪些信號傳送來將被阻塞的阻塞的信號集,如果某種信號在某個(gè)進(jìn)程的阻塞信號集中,則傳送到該進(jìn)程的此種信號將會被阻塞。信號阻塞操作主要有以下三個(gè)函數(shù):
??
?? #include<signal.h>
?? int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
?? int sigpending(sigset_t *set);
?? int sigsuspend(const sigset_t *mask);
??
?? sigprocmask系統(tǒng)調(diào)用用于改變當(dāng)前阻塞信號集,它具體的功能主要取決于第一個(gè)參數(shù)how。how的取值如下:
????????? -----------------------------------------------------------------------------------------------------
?????????? 參數(shù)how?????? |?????????????????? ?? 動(dòng)作
????????? ------------------------------------------------------------------------------------------------------
???????????? SIG_BLOCK???? |???? 將set指向的信號集中的信號添加到當(dāng)前阻塞信號集中
????????? ------------------------------------------------------------------------------------------------------
???????? SIG_UNBLOCK??? |???? 從當(dāng)前阻塞信號集中移除set指向的信號集中的信號,
??????????????????? ?? ?? |???? 移除一個(gè)阻塞信號集中不存在的信號那也是合法的
????????? ------------------------------------------------------------------------------------------------------
????????? SIG_SETMASK??? |???? 指定set所指向的信號集為當(dāng)前阻塞信號集
???????? --------------------------------------------------------------------------------------------------------
???? 如果sigprocmask的第三個(gè)參數(shù)oldset非空,則oldset保存舊的信號阻塞集。
????
??? sigpending(…)獲得當(dāng)前已傳送到進(jìn)程,卻被阻塞的所有信號,在set指向的信號集中保存未決(阻塞)的信號。
??? sigsuspend(const sigset_t *mask),在接收到某個(gè)信號之前,臨時(shí)用mask替換進(jìn)程的信號掩碼,并掛起進(jìn)程,直到收到信號為止。sigsuspend返回后,即系統(tǒng)在接受到信 號后,進(jìn)程將恢復(fù)調(diào)用前的信號掩碼,調(diào)用信號處理函數(shù)完畢后進(jìn)程將繼續(xù)執(zhí)行。始終返回-1,并將errno設(shè)置為EINTR。
???
??? 下面這個(gè)小程序測試了信號的阻塞以及信號集操作:
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
#include <unistd.h>

#define BLOCK_SIG??? SIGRTMIN+10
/*信號處理函數(shù)*/
static void sig_handler(int signum,struct siginfo *sig_info,void *unused)
{
??? printf("\n<! receive signal %d !>\n",signum);
??? printf("-----------------< Signal information >--------------------\n");
??? printf("\tsi_signo :\t%d\n",sig_info->si_signo);//信號值
??? printf("\tsi_errno :\t%d\n",sig_info->si_errno);//error值
??? printf("\tsi_code :\t%d\n",sig_info->si_code); //信號產(chǎn)生的原因
??? printf("\tsi_int?? :\t%d\n",sig_info->si_int); //4 bytes 整型???
???
}

int main(int argc,char**argv)
{
??? sigset_t new_mask,old_mask,pending_mask;
??? struct sigaction act;
???
??? printf("Block precess PID : %d\n",getpid());
??? /*
??? *設(shè)置struct sigaction結(jié)構(gòu)
??? */
??? sigemptyset(&act.sa_mask);
??? act.sa_flags=SA_SIGINFO;
??? act.sa_sigaction=(void *)sig_handler;
??????? /*
??? *安裝信號
??? */
??? if(sigaction(BLOCK_SIG,&act,NULL))
??? ??? printf("install siganl SIGRTMIN+10 error!\n");
??????? /*
??? *設(shè)置新的屏蔽信號集,阻塞 SIGRTMIN+10 信號!
??? */
??? sigemptyset(&new_mask);
??? sigaddset(&new_mask,BLOCK_SIG);
??? if(sigprocmask(SIG_BLOCK,&new_mask,&old_mask))
??? ??? printf("block signal SIGRTMIN+10 error!\n");

??? sleep(30);//等待信號SIGRTMIN+10喚醒,但因?yàn)樯厦嬖O(shè)置了此信號阻塞,因此此處不能從睡眠中喚醒進(jìn)程

??? printf("\nNow begin to get pending mask and unblock SIGRTMIN_10\n");
??? sigpending(&pending_mask);?? //獲得當(dāng)前已傳送到進(jìn)程,卻被阻塞的所有信號
??? if(sigismember(&pending_mask,BLOCK_SIG))
??? ??? printf("\nsignal SIGRTMIN+10 is pending!\n");
??? /*
???? *恢復(fù)原來的信號屏蔽集,此前被阻塞的信號觸發(fā)
???? */
??? sigprocmask(SIG_SETMASK,&old_mask,NULL);
??? printf("\nsignal unblocked!\n");

??? /*
??? *進(jìn)程進(jìn)入睡眠,直到有信號喚醒進(jìn)程,或時(shí)間到!
??? */
??? sleep(30);
???
??? exit(0);
}
???
???? 配合上篇中介紹的信號發(fā)送小程序,你可以測試一下程序的執(zhí)行結(jié)果!

posted on 2007-08-02 23:19 旅途 閱讀(821) 評論(0)  編輯 收藏 引用 所屬分類: Linux開發(fā)

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            雨宫琴音一区二区在线| 欧美不卡视频| 亚洲视频在线二区| 亚洲一区二区在线视频| 免费观看亚洲视频大全| 亚洲图片欧美一区| 欧美三级中文字幕在线观看| 最新亚洲激情| 久久中文字幕一区二区三区| 亚洲永久免费| 国产精品美女诱惑| 午夜精品一区二区三区四区 | 久久大逼视频| 亚洲一区视频在线| 国产精品亚洲视频| 久久精品国产77777蜜臀| 亚洲一区二区精品| 国产午夜亚洲精品理论片色戒| 欧美一级久久久| 久久精品99国产精品日本| 伊人久久噜噜噜躁狠狠躁| 欧美aaa级| 欧美精品一区二区三| 亚洲私人影院| 亚洲一区中文字幕在线观看| 国产精品综合网站| 久久在精品线影院精品国产| 久久综合色88| 日韩视频不卡| 亚洲免费综合| ●精品国产综合乱码久久久久| 亚洲大胆人体视频| 欧美在线不卡| 久久久久久噜噜噜久久久精品| 校园春色国产精品| 影音先锋在线一区| 亚洲国产婷婷香蕉久久久久久99| 欧美精品一区二区在线播放| 亚洲欧美在线磁力| 久久天天躁狠狠躁夜夜av| 亚洲精品久久7777| 在线视频中文亚洲| 在线成人免费视频| 亚洲免费观看在线观看| 国产美女精品视频| 亚洲高清免费在线| 国产亚洲精品bt天堂精选| 亚洲高清精品中出| 国产精品欧美精品| 欧美黄色视屏| 99riav久久精品riav| 国产精品男gay被猛男狂揉视频| 理论片一区二区在线| 欧美三区在线| 亚洲丶国产丶欧美一区二区三区 | 欧美成在线视频| 午夜精品在线观看| 欧美大片免费观看| 久久久久久久激情视频| 欧美精品麻豆| 免费影视亚洲| 国产日韩欧美一区二区三区在线观看| 欧美国产免费| 国产亚洲欧美中文| 99国产精品久久久久久久| 亚洲国产精品va在线观看黑人 | 免费观看在线综合| 欧美一区二区视频在线观看| 欧美激情综合| 亚洲丰满少妇videoshd| 国产在线麻豆精品观看| 亚洲视频一区二区| 亚洲图片欧洲图片av| 欧美jizzhd精品欧美巨大免费| 欧美一区二区视频观看视频| 国产精品99免费看| 日韩视频免费观看| 亚洲最新合集| 欧美精品乱人伦久久久久久| 欧美成人第一页| 在线播放豆国产99亚洲| 久久成人18免费网站| 欧美在线视频导航| 国产女主播视频一区二区| 亚洲无玛一区| 性欧美大战久久久久久久久| 国产精品国产三级国产普通话99| 亚洲国产精品va| 亚洲美女毛片| 欧美日韩精品三区| 夜夜爽99久久国产综合精品女不卡| 亚洲精品社区| 欧美激情综合在线| 免费一级欧美在线大片| 亚洲国产精品久久| 在线免费不卡视频| 欧美在线观看视频一区二区| 欧美一区免费视频| 国产午夜精品久久久久久免费视| 亚洲欧美日韩在线综合| 久久精品二区亚洲w码| 国语自产在线不卡| 老司机成人网| 日韩午夜免费| 性欧美暴力猛交另类hd| 国内久久精品| 欧美成人精品福利| 日韩亚洲视频| 久久精品91久久香蕉加勒比| 国产在线播放一区二区三区| 久热精品视频在线观看一区| 亚洲欧洲精品一区二区三区不卡| 亚洲午夜精品网| 国产欧美一区二区精品性 | 欧美亚一区二区| 亚洲一区二区在| 久久中文字幕一区二区三区| 亚洲精品国久久99热| 国产精品人人做人人爽人人添| 欧美一区二区免费观在线| 免费黄网站欧美| 在线亚洲精品| 国产亚洲精品aa| 欧美不卡在线| 亚洲尤物在线| 亚洲电影有码| 久久高清国产| 一个色综合av| 激情久久综合| 国产精品videossex久久发布| 欧美一级视频免费在线观看| 亚洲国产精品传媒在线观看| 亚洲一区在线免费观看| 国产综合香蕉五月婷在线| 欧美精品免费在线| 久久成人免费日本黄色| 日韩一级二级三级| 欧美大片18| 久久riav二区三区| 一区二区成人精品| 1000部精品久久久久久久久| 国产精品久久亚洲7777| 欧美高清在线视频| 久久久成人精品| 亚洲欧美另类在线| 日韩天天综合| 亚洲日本免费| 欧美寡妇偷汉性猛交| 欧美一区二区三区日韩| 欧美国产综合| 午夜日韩激情| 欧美日韩国产在线播放网站| 在线视频国产日韩| 一区二区久久久久久| 欧美88av| 午夜精品亚洲| 欧美视频中文一区二区三区在线观看| 亚洲免费视频成人| 亚洲日本中文| 欧美一区二区三区在线播放| 国产一区在线播放| 亚洲欧美日韩一区二区三区在线观看| 亚洲成色777777女色窝| 欧美影片第一页| 久久国产欧美精品| 国产精品欧美风情| 一区二区av在线| 亚洲精品资源美女情侣酒店| 久久国产精品亚洲77777| 快播亚洲色图| 久久久久久久国产| 激情亚洲一区二区三区四区| 欧美在线不卡视频| 国产欧美二区| 亚洲综合日韩| 一区二区三区成人| 亚洲精品一区二区三区福利| 亚洲高清不卡在线| 欧美高清在线一区| 亚洲国产午夜| 亚洲黄网站黄| 日韩午夜一区| 亚洲天堂激情| 午夜精彩国产免费不卡不顿大片| 中文在线资源观看视频网站免费不卡| 一区二区三区色| 亚洲午夜精品福利| 亚洲欧美日韩一区二区在线 | 欲色影视综合吧| 亚洲日本在线观看| 亚洲一级黄色av| 性欧美18~19sex高清播放| 久久国产日韩欧美| 嫩草伊人久久精品少妇av杨幂| 欧美成人免费网站| 亚洲精品男同| 亚洲欧美激情四射在线日 | 国产精品美女一区二区在线观看| 国产欧美日韩精品a在线观看| 红桃视频国产精品|