Netmapというプログラムを使用しています。2つのインターフェイス(eth0とeth1)があり、各インターフェイスにネットマップインスタンスを作成します。
eth0のネットマップインスタンスのファイル記述子をfd0と呼びましょう。Eth1はfd1になります。また、ここでのイベントはPOLLOUTです。
いずれかのインターフェースをポーリングするスレッドが1つある場合、poll()は常に正を返します。他のインターフェースをポーリングするための2番目のスレッドを作成するとすぐに、両方のpoll()呼び出しが0を返します。
例:fd0でpoll()するスレッドを作成します。Poll()は常に正の値を返します。fd1でpoll()を実行するとすぐに、両方のポーリングが0を返します。
どうしてこれなの?