亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1226 | 回復(fù): 1
打印 上一主題 下一主題

信號調(diào)用的問題 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-04-13 14:26 |只看該作者 |倒序瀏覽
不知道發(fā)在哪個模塊好。
unp中舉了很多例子,都用到了信號處理函數(shù)。我不是很明白為啥在程序結(jié)束時,還需要“恢復(fù)原來的信號處理函數(shù)”

static void connect_alarm(int);

int
connect_timeo(...)
{
     Signfunc  *sigfunc;
      int n;
      
      sigfunc = Signal(SIGLARM, connect_alarm);   //這里我理解是設(shè)置信號處理函數(shù)
      if ( (n = connect(sockfd, saptr, salen)) < 0) {
            close(sockfd);
           if(errno == EINTR)                              
              errno = ETIMEDOUT;                        
      }
     alarm(0);

     SIgnal(SIGLARM,sigfunc);                           //為啥這里還要"恢復(fù)原來的信號處理函數(shù)"。程序都結(jié)束了,設(shè)置還有什么特殊的用途嗎?
                                                                    //就算是恢復(fù)原來的,應(yīng)該再次調(diào)用:Signal(SIGLARM, connect_alarm);   
   return (n);
}

static void
connect_alarm(int signo)
{
     return;
}

論壇徽章:
1
白羊座
日期:2013-08-22 17:30:33
2 [報告]
發(fā)表于 2012-04-13 14:38 |只看該作者
sigfunc = Signal(SIGLARM, connect_alarm);  設(shè)置SIGALRM信號的捕捉函數(shù),并保存原先的SIGALRM信號操作到sigfunc;
執(zhí)行完中間代碼段后,再通過SIgnal(SIGLARM,sigfunc);還原回去!
應(yīng)該沒有什么問題吧
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP