diff --git a/eventlet/green/zmq.py b/eventlet/green/zmq.py index 545ef50..2da0a6b 100644 --- a/eventlet/green/zmq.py +++ b/eventlet/green/zmq.py @@ -23,7 +23,6 @@ class Socket(__zmq__.Socket): while True: try: super(Socket, self)._send_message(data, flags) - sleep() return except __zmq__.ZMQError, e: if e.errno != EAGAIN: @@ -35,7 +34,6 @@ class Socket(__zmq__.Socket): while True: try: super(Socket, self)._send_copy(data, flags) - sleep() return except __zmq__.ZMQError, e: if e.errno != EAGAIN: diff --git a/tests/zeromq_test.py b/tests/zmq_test.py similarity index 89% rename from tests/zeromq_test.py rename to tests/zmq_test.py index 34e2c84..e7fbbe3 100644 --- a/tests/zeromq_test.py +++ b/tests/zmq_test.py @@ -37,7 +37,6 @@ got '%s'" % (zmq.ZMQError(errno), zmq.ZMQError(e.errno))) @skip_unless_zmq def test_recv_spawned_before_send_is_non_blocking(self): - ipc = 'ipc:///tmp/tests' req, rep = self.create_bound_pair(zmq.PAIR, zmq.PAIR) # req.connect(ipc) # rep.bind(ipc) @@ -52,6 +51,14 @@ got '%s'" % (zmq.ZMQError(errno), zmq.ZMQError(e.errno))) done.wait() self.assertEqual(msg['res'], 'test') + @skip_unless_zmq + def test_close_socket_raises_enotsup(self): + req, rep = self.create_bound_pair(zmq.PAIR, zmq.PAIR) + rep.close() + req.close() + self.assertRaisesErrno(zmq.ENOTSUP, rep.recv) + self.assertRaisesErrno(zmq.ENOTSUP, req.send, 'test') + @skip_unless_zmq def test_send_1k_req_rep(self): req, rep = self.create_bound_pair(zmq.REQ, zmq.REP) @@ -68,6 +75,7 @@ got '%s'" % (zmq.ZMQError(errno), zmq.ZMQError(e.errno))) rx_i = rep.recv() if rx_i == "1000": rep.send('done') + sleep() done.send(0) break rep.send('i') @@ -128,7 +136,11 @@ class TestThreadedContextAccess(TestCase): test_result = [] def assert_different(ctx): assert not hasattr(_threadlocal, 'hub') - this_thread_context = get_hub().get_context() + hub = get_hub() + try: + this_thread_context = hub.get_context() + except: + test_result.append('fail') test_result.append(ctx is this_thread_context) Thread(target=assert_different, args=(context,)).start() while not len(test_result):