Commit 4e7158b6 authored by Martin Sustrik's avatar Martin Sustrik

return POLLERR from polling on POSIX sockets (linux version)

parent 7442f539
...@@ -405,9 +405,14 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_) ...@@ -405,9 +405,14 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
// If the poll item is a raw file descriptor, simply convert // If the poll item is a raw file descriptor, simply convert
// the events to zmq_pollitem_t-style format. // the events to zmq_pollitem_t-style format.
if (!items_ [i].socket) { if (!items_ [i].socket) {
items_ [i].revents = items_ [i].revents = 0;
(pollfds [pollfd_pos].revents & POLLIN ? ZMQ_POLLIN : 0) | if (pollfds [pollfd_pos].revents & POLLIN)
(pollfds [pollfd_pos].revents & POLLOUT ? ZMQ_POLLOUT : 0); items_ [i].revents |= ZMQ_POLLIN;
if (pollfds [pollfd_pos].revents & POLLOUT)
items_ [i].revents |= ZMQ_POLLOUT;
if (pollfds [pollfd_pos].revents & ~(POLLIN | POLLOUT))
items_ [i].revents |= ZMQ_POLLERR;
if (items_ [i].revents) if (items_ [i].revents)
nevents++; nevents++;
pollfd_pos++; pollfd_pos++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment