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

大龍的博客

常用鏈接

統(tǒng)計(jì)

最新評(píng)論

gethostbyname timeout --- 轉(zhuǎn)

總結(jié): 下面第一種方法經(jīng)過(guò)測(cè)試是可行的,第二種方法(多線程中使用)不能夠用信號(hào)中斷。

so , 對(duì)信號(hào)的使用要非常小心。



gethostbyname 是阻塞的, 非線程安全的,所以最好使用getaddrinfo , 它是線程安全的。

要給gethostbyname 設(shè)置一個(gè)超時(shí)值, 用信號(hào)(alarm)實(shí)現(xiàn)是不行的(目前項(xiàng)目嵌入式平臺(tái)上面測(cè)試不行) 。


下面是網(wǎng)上摘錄的解決該問(wèn)題的方法, 對(duì)怎么繞過(guò)其他系統(tǒng)函數(shù)(無(wú)論是線程安全還是非安全的)也有很好的借鑒意義


Hello,

I need to add timeout to gethostbyname function in my program. I
googled and searched archives, found some examples with alert(), but
can't make it work :/ I would be grateful of someone could tell me how
to do it.

You can't. Or rather, you shouldn't.

The trick with alarm(2) (not alert()), is to longjmp(3) from the signal
handler to a context created with setjmp(3) before calling gethostbyname(3).
This is, unfortunately, very common in Perl code (in Perl die() actually
uses longjmp() internally to a context set from an eval statement).

However, gethostbyname() keeps internal state, and afterward its unsafe
to call the function again. gethostbyname_r() might be relatively safer,
but you've probably also leaked a file descriptor and memory,
meaning you could only do it so many times from a single process before it
won't work anymore. (And from a strict C perspective, jumping from the
signal handler itself is questionable.)

You do have options.

1) Multiple processes. Use child processes and the
gethostbyname()+alarm() trick, and return the answer down a pipe to
the parent. The child will just kill itself if it timeouts (or
alternatively the parent will set the alarm and kill the child), since it
cannot reliably do it's job afterward.

2) Use threads in conjunction with gethostbyname_r(), or preferably
getaddrinfo(3). Still, you cannot interrupt these functions within the
thread, and so you have a few more decisions to make in terms of how you
handle timeouts.

3) Use a third-party asynchronous DNS library: ADNS, C-Ares and UDNS are
the first ones which comes to mind, the former two probably being the most
popular.

posted on 2012-11-12 14:45 大龍 閱讀(3309) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美 日韩 国产 一区| 免费成人av资源网| 国产精品社区| 欧美在线视频免费| 欧美有码视频| 在线播放豆国产99亚洲| 麻豆九一精品爱看视频在线观看免费 | 久久琪琪电影院| 在线免费观看成人网| 欧美激情日韩| 欧美日韩爆操| 亚洲尤物视频网| 欧美一区成人| 在线欧美一区| 亚洲精品中文在线| 国产精品日韩专区| 久久欧美中文字幕| 欧美激情一二区| 亚洲欧美一区二区三区极速播放| 亚洲已满18点击进入久久| 国内久久精品| 亚洲精品中文字幕有码专区| 国产精品资源在线观看| 欧美/亚洲一区| 欧美伦理a级免费电影| 久久国产福利国产秒拍| 美女视频黄免费的久久| 亚洲欧美日韩一区二区三区在线 | 欧美激情第4页| 欧美视频在线观看 亚洲欧| 久久成人精品一区二区三区| 欧美 日韩 国产精品免费观看| 在线一区视频| 久久亚洲欧美| 欧美亚洲一区在线| 欧美高清自拍一区| 久久精品系列| 欧美日韩综合在线| 欧美sm视频| 国产精品一区免费在线观看| 亚洲欧洲精品一区| 国产一区视频网站| 一本色道久久综合亚洲精品按摩| 在线观看日韩国产| 午夜精品影院| 亚洲欧美日韩一区二区在线 | 欧美日韩国产区一| 老司机久久99久久精品播放免费| 欧美日韩在线免费视频| 欧美成人蜜桃| 国模吧视频一区| 中文在线资源观看网站视频免费不卡| 亚洲国产福利在线| 久久精品国产精品亚洲综合| 午夜精品99久久免费| 欧美日韩亚洲一区二| 亚洲春色另类小说| 亚洲高清影视| 久久久一本精品99久久精品66| 欧美亚洲三区| 国产精品视频免费在线观看| 亚洲精品视频一区| 亚洲精品久久久久久久久| 久久亚洲精品欧美| 欧美刺激午夜性久久久久久久| 国产在线视频不卡二| 欧美亚洲日本网站| 久久久久久九九九九| 国产一区二区丝袜高跟鞋图片| 亚洲自拍16p| 欧美一级成年大片在线观看| 国产精品成人一区二区艾草| 最近中文字幕mv在线一区二区三区四区 | 欧美日韩免费区域视频在线观看| 亚洲国产精品日韩| 亚洲精品社区| 女生裸体视频一区二区三区| 亚洲国产经典视频| 日韩亚洲欧美一区二区三区| 欧美精品v国产精品v日韩精品| 91久久精品日日躁夜夜躁欧美 | 亚洲老板91色精品久久| 欧美精品综合| 亚洲视频专区在线| 性欧美1819性猛交| 国语自产精品视频在线看一大j8 | 日韩天堂在线观看| 亚洲一区国产精品| 国产日韩精品一区二区| 久久久91精品国产一区二区三区| 欧美成人蜜桃| 中文欧美日韩| 国产日韩视频一区二区三区| 久久精品一区二区三区不卡| 欧美α欧美αv大片| 中文亚洲字幕| 国产日韩在线视频| 欧美成人激情在线| 亚洲免费在线观看视频| 毛片一区二区三区| 中日韩午夜理伦电影免费| 国产欧美日韩一区| 欧美电影在线观看| 午夜精品久久久| 欧美大片在线观看| 午夜亚洲影视| 亚洲人体1000| 国产日韩专区在线| 欧美激情影音先锋| 久久精品国产在热久久 | 免费在线播放第一区高清av| 亚洲免费高清| 国产婷婷色综合av蜜臀av| 欧美精品一区在线发布| 欧美一区二区在线播放| 日韩视频在线一区二区三区| 久久亚洲一区二区| 亚洲男人的天堂在线观看| 亚洲国产精品123| 国产麻豆综合| 欧美日韩一区二区三区在线视频 | 日韩视频中午一区| 欧美肥婆bbw| 久久久国产成人精品| 亚洲一区二区三区久久| 亚洲精品视频在线观看网站 | 欧美视频一二三区| 欧美激情亚洲另类| 免费在线日韩av| 久久精品国产综合精品| 亚洲中字在线| 亚洲先锋成人| 9l视频自拍蝌蚪9l视频成人| 欧美激情一区二区三区蜜桃视频| 久久久av网站| 久久本道综合色狠狠五月| 亚洲欧美激情视频| 亚洲一区二区免费在线| 99伊人成综合| 日韩亚洲欧美精品| 亚洲精品孕妇| 亚洲卡通欧美制服中文| 亚洲精品国产精品乱码不99按摩 | 在线精品国产成人综合| 国产一区二区三区四区在线观看| 国产精品欧美一区二区三区奶水 | 欧美第十八页| 欧美jizz19性欧美| 欧美大片在线看免费观看| 开心色5月久久精品| 国产精品视频久久一区| 国产精品丝袜久久久久久app| 国产精品av免费在线观看| 欧美视频亚洲视频| 国产精品久久久一区麻豆最新章节| 欧美日韩精品一区二区三区四区| 欧美激情综合色综合啪啪| 欧美日韩ab片| 欧美视频一区二区| 国产伦精品一区二区三区视频孕妇 | 久久这里有精品视频| 久久亚洲国产精品日日av夜夜| 久久影视精品| 欧美福利一区二区三区| 欧美日韩一区二区欧美激情 | 国产精品成人一区二区三区夜夜夜| 欧美日韩精品免费观看视频完整| 欧美日韩一区二区高清| 国产精品夜夜夜| 黄色在线成人| 日韩视频免费观看高清完整版| 国产丝袜美腿一区二区三区| 国外精品视频| 亚洲人成在线观看| 亚洲欧美日韩一区二区| 久久久伊人欧美| 亚洲欧洲综合| 亚洲欧美日本国产专区一区| 久久久99久久精品女同性| 欧美精品久久久久久| 国产精品女人久久久久久| 伊人色综合久久天天| 亚洲无吗在线| 蜜桃av一区二区| av成人免费在线观看| 久久国产精彩视频| 欧美日韩中文在线| 在线观看福利一区| 亚洲一区尤物| 欧美黄色一区| 午夜精品久久久| 欧美精品自拍偷拍动漫精品| 国产视频一区三区| 一本色道精品久久一区二区三区 | 欧美伊久线香蕉线新在线| 亚洲高清资源| 久久精品视频免费| 国产精品久久久久91| 亚洲日本中文字幕| 久久日韩精品|