Skip to content

Commit

Permalink
Merge pull request #57 from claws/fix_monitor_disable
Browse files Browse the repository at this point in the history
fix monitor disable test failures
  • Loading branch information
asvetlov committed Sep 20, 2015
2 parents 0909830 + 76a5d3d commit eae9e6d
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
13 changes: 8 additions & 5 deletions aiozmq/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -538,7 +538,7 @@ def enable_monitor(self, events=None):
# performs the actions in the wrong order for use with an event
# loop.
# For more information on this issue see:
# https://github.com/mkoppanen/php-zmq/issues/130
# http://lists.zeromq.org/pipermail/zeromq-dev/2015-July/029181.html

if (zmq.zmq_version_info() < (4,) or
zmq.pyzmq_version_info() < (14, 4,)):
Expand All @@ -559,6 +559,9 @@ def enable_monitor(self, events=None):

@asyncio.coroutine
def disable_monitor(self):
self._disable_monitor()

def _disable_monitor(self):
if self._monitor:
self._zmq_sock.disable_monitor()
self._monitor.transport.close()
Expand Down Expand Up @@ -631,7 +634,7 @@ def close(self):
return
self._closing = True
if self._monitor:
self.disable_monitor()
self._disable_monitor()
if not self._paused:
self._loop.remove_reader(self._zmq_sock)
if not self._buffer:
Expand All @@ -642,7 +645,7 @@ def _force_close(self, exc):
if self._conn_lost:
return
if self._monitor:
self.disable_monitor()
self._disable_monitor()
if self._buffer:
self._buffer.clear()
self._buffer_size = 0
Expand Down Expand Up @@ -761,7 +764,7 @@ def close(self):
return
self._closing = True
if self._monitor:
self.disable_monitor()
self._disable_monitor()
if not self._buffer:
self._conn_lost += 1
if not self._paused:
Expand All @@ -772,7 +775,7 @@ def _force_close(self, exc):
if self._conn_lost:
return
if self._monitor:
self.disable_monitor()
self._disable_monitor()
if self._buffer:
self._buffer.clear()
self._buffer_size = 0
Expand Down
2 changes: 1 addition & 1 deletion tests/zmq_events_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ def connection_made(self, transport):
def connection_lost(self, exc):
assert self.state == 'CONNECTED', self.state
self.state = 'CLOSED'
self.closed.set_result(None)
self.transport = None
self.closed.set_result(None)

def pause_writing(self):
self.paused = True
Expand Down

0 comments on commit eae9e6d

Please sign in to comment.