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