这是如何使用带有poll(2)的posix队列?

时间:2012-08-10 15:21:28

标签: linux queue posix polling

我已经在几个地方读到你可以使用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数组中。我做错了什么,或者这是正确的,问题是我的代码中的其他地方? (我在OpenSuse上,这是一个linux,所以我猜这应该有用)。

1 个答案:

答案 0 :(得分:1)

好的,NOS是对的。这个例子在理论上是正确的,它确实可以在我的OpenSuse上运行,忘记填写这个fd的事件掩码是我的错误。