From fbf5cb442d4df1e4bdf493b52e9aeb126e5e863a Mon Sep 17 00:00:00 2001 From: Gevorg Davoian Date: Fri, 3 Jun 2016 12:27:29 +0300 Subject: [PATCH] [zmq] Fix timeout in ThreadingPoller.poll Change-Id: I3f97ce93c719b5729885b4d37518880dd6213d1d --- oslo_messaging/_drivers/zmq_driver/broker/zmq_queue_proxy.py | 2 +- .../_drivers/zmq_driver/poller/threading_poller.py | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/oslo_messaging/_drivers/zmq_driver/broker/zmq_queue_proxy.py b/oslo_messaging/_drivers/zmq_driver/broker/zmq_queue_proxy.py index 215f0a3..bbf17fe 100644 --- a/oslo_messaging/_drivers/zmq_driver/broker/zmq_queue_proxy.py +++ b/oslo_messaging/_drivers/zmq_driver/broker/zmq_queue_proxy.py @@ -65,7 +65,7 @@ class UniversalQueueProxy(object): {"router": self.be_router_address}) def run(self): - message, socket = self.poller.poll(self.conf.rpc_poll_timeout) + message, socket = self.poller.poll() if message is None: return diff --git a/oslo_messaging/_drivers/zmq_driver/poller/threading_poller.py b/oslo_messaging/_drivers/zmq_driver/poller/threading_poller.py index 85f142d..1fcfaba 100644 --- a/oslo_messaging/_drivers/zmq_driver/poller/threading_poller.py +++ b/oslo_messaging/_drivers/zmq_driver/poller/threading_poller.py @@ -46,9 +46,12 @@ class ThreadingPoller(zmq_poller.ZmqPoller): self.poller.register(socket, zmq.POLLIN) def poll(self, timeout=None): + if timeout is not None and timeout > 0: + timeout *= 1000 # convert seconds to milliseconds + sockets = {} try: - sockets = dict(self.poller.poll()) + sockets = dict(self.poller.poll(timeout=timeout)) except zmq.ZMQError as e: LOG.debug("Polling terminated with error: %s", e)