日期:2014-05-16  浏览次数:20737 次

关于中断gethostbyname的问题
在linux下,如果网线拔出以后调用gethostbyname,这个函数将在近1分钟后返回失败,我的程序中使用单独的线程解析域名,并且是一个动态库,如果在这期间卸载动态库,需要先关闭该线程,则需要这个函数返回才可以卸载成功,请问如何中断掉这个函数调用,而不是cancel该线程,因为cancel线程会存在风险,希望正常关闭该线程

------解决方案--------------------
可否用一个线程来检测。用类似pthread_cond_timedwait的函数。
------解决方案--------------------
能否考虑判断网卡是否active? 不是active的话不调用函数
------解决方案--------------------
songsong33(天堂里的蚊子) ( ) 信誉:100 Blog 2007-3-13 21:49:20 得分: 0



能否考虑判断网卡是否active? 不是active的话不调用函数



用这个方案吧.........
------解决方案--------------------
在 <unix环境高级编程> 信号那章中,作者介绍了一种使用alarm,longjmp加信号机制的方法用于为一个操作设置超时时间,但他那个方法也有些缺陷.
有兴趣的话你可以去看看