我有个案要处理。有一个线程调用WSAPoll()来从TCP连接接收数据。代码如下所示:
int result = WSAPoll(fdSocket, 1, timeout);
if (result == 0)
{
// time out
}
else if (result == -1)
{
// socket error
}
如果我将超时设置为负数,则线程将无限期地等待。但是,如果我从另一个线程调用一个函数StopWait(),我想让这个函数直接返回一个值,比如0,直到这个线程。
那么我该怎么做才能使这项工作成功?通过函数StopWait()在另一个线程中添加对此阻塞线程的异步过程调用?如果是,添加什么可以使它返回我想要的值?
谢谢!