当两个线程轮询时,带有POLLOUT事件的Poll()总是返回0,但是使用一个线程

时间:2012-10-05 18:58:29

标签: linux linux-kernel driver linux-device-driver

我正在使用名为Netmap的程序。我有两个接口(eth0和eth1),我在每个接口上创建一个netmap实例。

让我们将eth0的netmap实例的文件描述符称为 fd0 。 Eth1将 fd1 。此外,此处的事件为 POLLOUT

如果我有一个线程轮询任一接口,那么poll()总是返回正数。一旦我创建了第二个线程来轮询其他接口,那么两个poll()调用都会返回0.

示例:我在fd0上创建了一个poll()线程。 Poll()始终返回正值。一旦我在fd1上的poll(),两个poll都返回0。

为什么会这样?

0 个答案:

没有答案