Commit 872f1e5a authored by Constantin Rack's avatar Constantin Rack Committed by GitHub

Merge pull request #2143 from minrk/avoid-duplicate-poller-proxy

avoid passing duplicate entries to zmq_poll
parents b0df7f1f c636147c
......@@ -130,6 +130,15 @@ int zmq::proxy (
{ backend_, 0, ZMQ_POLLOUT, 0 }
};
int control_idx = 2;
if (frontend_ == backend_) {
// when frontend & backend are the same,
// avoid duplicate poll entries
qt_poll_items -= 1;
items[1] = items[2];
control_idx = 1;
}
// Proxy can be in these three states
enum {
active,
......@@ -154,7 +163,7 @@ int zmq::proxy (
}
// Process a control command if any
if (control_ && items [2].revents & ZMQ_POLLIN) {
if (control_ && items [control_idx].revents & ZMQ_POLLIN) {
rc = control_->recv (&msg, 0);
if (unlikely (rc < 0))
return -1;
......
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