fix scope of itemsout poll

indentation was correct, but poll was inside `if control`,
causing it to only be called if there is a control message.

This would cause proxy messages to only be delivered after a control message had been sent.
This commit is contained in:
Min RK 2015-06-05 13:45:10 -07:00
parent 1a0cceac43
commit 0f10ef1b38

View File

@ -93,18 +93,18 @@ int zmq::proxy (
if (unlikely (rc < 0))
return -1;
// Process a control command if any
if (control_ && items [2].revents & ZMQ_POLLIN) {
rc = control_->recv (&msg, 0);
if (unlikely (rc < 0))
return -1;
// Get the pollout separately because when combining this with pollin it maxes the CPU
// because pollout shall most of the time return directly
rc = zmq_poll (&itemsout [0], 2, 0);
if (unlikely (rc < 0))
return -1;
// Process a control command if any
if (control_ && items [2].revents & ZMQ_POLLIN) {
rc = control_->recv (&msg, 0);
if (unlikely (rc < 0))
return -1;
moresz = sizeof more;
rc = control_->getsockopt (ZMQ_RCVMORE, &more, &moresz);
if (unlikely (rc < 0) || more)