1

poll(2) を posix キューで使用できるいくつかの場所を読みましたが、インターネット上のどこにも簡単な例は見つかりませんでした。だから私はそれがこのように行くべきだと推測しました

mq_send(socket->mFd, (const char*)data->getBuffer(), data->getLen(), 0 );
//and then in an other porcess here is my poll
::poll(m_descriptors, ii, msecWaitTime);

しかし、これは機能しません.POLLINまたはPOLLRDNORM、あるいはPOLLRDBANDなどが到着することを期待していますが、そうではありません. そして、私の記述子が PollFd 配列にあると確信しています。私は何か間違ったことをしていますか、それともこれは正しく、問題は私のコードのどこかにありますか? (私はLinuxであるOpenSuseを使用しているので、これでうまくいくはずだと思いました)。

4

1 に答える 1

1

OK、NOSは正しかった。この例は理論的には正しく、私の OpenSuse でも実際に動作します。この fd のイベント マスクを記入し忘れたのは私の間違いでした。

于 2012-08-10T15:44:27.553 に答える