-1

linux手册指出:

The operation of select() and pselect() is identical, other than these
       three differences:

       (i)    ...

       (ii)   select() may update the timeout argument to indicate how much time
              was left.  pselect() does not change this argument.
       (iii)  ...

它说你可以更新它,但我该怎么做?我再次调用 select(),使用相同的参数?

4

2 回答 2

2

它说你可以更新它,但我该怎么做

它说没有这样的事情。它说该功能可以修改它标准用语略有不同:

成功完成后, select() 函数可能会修改 timeout 参数指向的对象

于 2013-03-13T19:56:04.443 回答
1

调用过程中不应修改超时结构的内容。但是,您可以停止选择,然后使用新的超时重新启动它。

通常,当您使用 制作多线程应用程序时select,您会提供一种中断此调用以更新已处理文件描述符列表的方法,例如。例如,这可以使用套接字对来实现。套接字对中的一个套接字用于控制线程,另一个总是添加到fd_set. 虽然这是一个不同的主题。

于 2013-03-13T20:13:22.937 回答