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

大龍的博客

常用鏈接

統(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>
            国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ入口 | 国产欧美另类| 欧美波霸影院| 国产精品视频免费观看www| 亚洲国产免费看| 国内精品久久久久久久97牛牛| 亚洲日本电影| 亚洲日本aⅴ片在线观看香蕉| 欧美一区二区三区免费观看视频| 亚洲一区影音先锋| 欧美日韩a区| 亚洲精品网站在线播放gif| 在线观看欧美成人| 久久国产精彩视频| 久久久视频精品| 国际精品欧美精品| 久久国产精品一区二区三区| 性久久久久久| 国产视频欧美| 久久精品日韩| 女人香蕉久久**毛片精品| 伊人久久亚洲影院| 久久综合九色九九| 欧美激情影音先锋| 亚洲精品乱码久久久久久按摩观| 久久尤物电影视频在线观看| 暖暖成人免费视频| 91久久久在线| 欧美另类人妖| 一区二区三区四区五区视频| 亚洲一区图片| 国产一区二区日韩精品| 欧美专区中文字幕| 欧美成人a∨高清免费观看| 亚洲国产日韩欧美在线99| 免费美女久久99| 亚洲精品在线视频观看| 亚洲一区三区视频在线观看| 国产乱码精品一区二区三区五月婷| 亚洲综合色婷婷| 久久夜色撩人精品| 亚洲精品在线免费观看视频| 欧美午夜不卡视频| 午夜欧美理论片| 欧美大秀在线观看| 一区二区三区国产精品| 国产乱子伦一区二区三区国色天香| 新狼窝色av性久久久久久| 米奇777超碰欧美日韩亚洲| 亚洲三级视频| 国产乱码精品一区二区三区五月婷 | 久久亚洲精品一区| 91久久综合| 欧美一区在线看| 亚洲成色精品| 国产精品福利久久久| 久久福利一区| 亚洲免费高清视频| 久久精品亚洲热| 亚洲日本一区二区三区| 国产精品欧美日韩久久| 老司机久久99久久精品播放免费| 亚洲精品看片| 久久一区欧美| 亚洲午夜高清视频| 韩国三级电影久久久久久| 欧美精品色一区二区三区| 午夜视频一区| 一区二区av| 亚洲成在线观看| 久久福利毛片| 亚洲一区观看| 亚洲美女精品一区| 伊人久久亚洲热| 国产精品欧美日韩一区| 欧美韩日一区二区| 久久久www| 性伦欧美刺激片在线观看| 亚洲伦理自拍| 欧美风情在线| 久久免费视频这里只有精品| 亚洲无线一线二线三线区别av| 国产一区二区黄| 欧美视频福利| 欧美连裤袜在线视频| 久久阴道视频| 久久精彩免费视频| 性欧美精品高清| 亚洲性视频h| 一本色道久久综合狠狠躁篇的优点| 欧美.日韩.国产.一区.二区| 久久爱另类一区二区小说| 亚洲字幕一区二区| 亚洲视频专区在线| 一本久久精品一区二区| 亚洲国产精品久久91精品| 国模大胆一区二区三区| 国产日本欧美一区二区| 国产精品久久夜| 欧美性大战久久久久久久蜜臀| 欧美精品午夜| 欧美日本三级| 欧美日韩一区二区视频在线 | 欧美激情综合亚洲一二区| 久久天天躁狠狠躁夜夜av| 久久se精品一区二区| 欧美一二三视频| 欧美一级淫片播放口| 欧美在线播放一区| 久久久国产成人精品| 久久国产精品久久久久久| 久久精品视频在线看| 久久视频一区二区| 久久综合中文字幕| 欧美成人精品1314www| 欧美激情第1页| 欧美性久久久| 国产亚洲精品一区二555| 韩日欧美一区| 亚洲人久久久| 亚洲婷婷在线| 性色一区二区| 欧美 日韩 国产一区二区在线视频| 久久亚洲国产成人| 亚洲电影免费在线| 日韩视频在线一区二区三区| 一区二区三区欧美亚洲| 欧美一级一区| 欧美国产高潮xxxx1819| 欧美性开放视频| 国内精品久久久久久久97牛牛| 亚洲福利视频网站| 一区二区三区日韩精品| 欧美怡红院视频| 欧美激情按摩在线| 一区二区三区视频在线播放| 亚洲在线成人| 美女尤物久久精品| 欧美天堂亚洲电影院在线观看| 国产欧美日韩视频| 亚洲人精品午夜| 欧美在线观看视频一区二区三区| 蜜臀av在线播放一区二区三区| 亚洲精品午夜| 久久精品国产亚洲5555| 欧美乱大交xxxxx| 国产一区亚洲一区| 一区二区三区毛片| 久久一区免费| 一区二区三区欧美| 美女在线一区二区| 国产欧美一区二区三区沐欲| 亚洲日本va午夜在线影院| 久久精品国产99精品国产亚洲性色| 亚洲国产精品一区二区第四页av| 亚洲一区二区三区欧美| 女人天堂亚洲aⅴ在线观看| 国产女人水真多18毛片18精品视频| 亚洲二区在线观看| 欧美一区在线直播| 999在线观看精品免费不卡网站| 久久精品主播| 国产美女精品视频| 一本到高清视频免费精品| 久久综合999| 亚洲欧美一级二级三级| 欧美日韩另类国产亚洲欧美一级| 国产一区二区三区在线观看网站 | 最新日韩在线视频| 久久精品卡一| 国产日韩精品一区观看| 一区二区三区四区五区精品| 欧美成人免费视频| 久久激情综合| 国产午夜精品视频免费不卡69堂| 亚洲视频axxx| 亚洲美女精品一区| 欧美国产一区在线| 亚洲精品久久久久久下一站 | 欧美影视一区| 亚洲一区二区三区乱码aⅴ| 欧美日韩国产系列| 亚洲日本中文字幕免费在线不卡| 美女在线一区二区| 久久久亚洲影院你懂的| 黄色成人在线网站| 久久精品国产91精品亚洲| 亚洲欧美日韩成人| 国产女精品视频网站免费| 午夜精品亚洲一区二区三区嫩草| 99国内精品久久久久久久软件| 欧美久久在线| 在线亚洲成人| 亚洲午夜国产一区99re久久| 欧美丝袜第一区| 亚洲欧美日韩精品久久| 亚洲一区二区三区国产| 国产精品丝袜91| 久久九九全国免费精品观看| 欧美在线视频导航|