C++ 是否可以重置选择';当它';什么被封锁了?

C++ 是否可以重置选择';当它';什么被封锁了?,c++,C++,我已经将超时设置为60秒,因为有些需要,在一些事件发出信号后需要重置超时,以确保select keep blocked。我检查了msdn,它指出“当select返回时,TIMEVAL结构的内容不会更改”,这听起来是没有用的,修改它的时间是阻塞的。我的工作环境是VS2010,我能想到的是自己实现一个C++计时器,使用阻塞的WSA函数代替非阻塞。但是考虑到这些函数是一个线程,我不确定它是否会是个问题。 当select被阻止时,是否可以重置其超时 没有 使用的一种技术是在FD集合中添加一个专用管道,并

我已经将超时设置为60秒,因为有些需要,在一些事件发出信号后需要重置超时,以确保select keep blocked。我检查了msdn,它指出“当select返回时,TIMEVAL结构的内容不会更改”,这听起来是没有用的,修改它的时间是阻塞的。我的工作环境是VS2010,我能想到的是自己实现一个C++计时器,使用阻塞的WSA函数代替非阻塞。但是考虑到这些函数是一个线程,我不确定它是否会是个问题。 当select被阻止时,是否可以重置其超时

没有


使用的一种技术是在FD集合中添加一个专用管道,并在您想要中断
select()时向下发送一些内容。

对不起,可能我没有说清楚,实际上我在线程中维护了一个websocket,我将select的超时设置为60秒。如果在此期间没有收到任何内容,我将关闭它,但是,如果事件发出信号,我希望此超时再次设置为60秒,并且选择“保持被阻止”。只有通过返回
select()
才能知道在这段时间内没有收到任何消息,因此它根本不会被阻止。不清楚你在问什么。你的问题(至少对我来说)很不清楚。请添加或显示相关代码。