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

4

1 回答 1

1

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

于 2012-08-10T15:44:27.553 回答