getaddrinfo()是一个阻塞函数。
如何中止getaddrinfo()调用?
例如,当关闭我的应用程序时,我想中止对此函数的现有调用。
发布于 2016-12-28 07:07:45
你不能像那样中止函数调用。
如果函数调用为您提供了中止或设置超时的方法,那么您可以这样做,但本例没有,大多数函数调用也没有。
但是,您可以在单独的线程中执行这些查找,现在您可以向执行这些查找的线程发出中止。
请注意,在线程中执行查找并中止它并不能保证调用将立即结束,也不意味着线程将立即结束。
尤其是在呼叫行为不正常或功能不正常的情况下。
发布于 2016-12-30 06:23:06
getaddrinfo()是一个不能中止的阻塞函数。
在Windows8和更高版本上,你可以使用GetAddrInfoEx()。Unicode版本(GetAddrInfoExW())支持调用者提供的超时和重叠I/O,或者它可以返回异步任务的HANDLE,然后可以将该well传递给GetAddrInfoExCancel()。
https://stackoverflow.com/questions/41352985
复制相似问题