如何停止阻止调用WSAPoll

时间:2015-08-12 20:26:06

标签: sockets callblocking

我有个案要处理。有一个线程调用WSAPoll()来从TCP连接接收数据。代码如下所示:

int result = WSAPoll(fdSocket, 1, timeout);
if (result == 0)
{
    // time out
}
else if (result == -1)
{
    // socket error
}

如果我将超时设置为负数,则线程将无限期地等待。但是,如果我从另一个线程调用一个函数StopWait(),我想让这个函数直接返回一个值,比如0,直到这个线程。

那么我该怎么做才能使这项工作成功?通过函数StopWait()在另一个线程中添加对此阻塞线程的异步过程调用?如果是,添加什么可以使它返回我想要的值?

谢谢!

0 个答案:

没有答案