diff options
author | Ryan Williams <breath@alum.mit.edu> | 2011-01-27 11:41:30 -0800 |
---|---|---|
committer | Ryan Williams <breath@alum.mit.edu> | 2011-01-27 11:41:30 -0800 |
commit | f443bf514ba335ee0cc7d26478b2fef2a06011ae (patch) | |
tree | 3180c119ed658f15c4e1568c58c06978b1b1cb0d | |
parent | 97da375d174a0e32bd5593abab2f5bd9d84cbe35 (diff) | |
download | eventlet-f443bf514ba335ee0cc7d26478b2fef2a06011ae.tar.gz |
Importing patch from rfk to get green.zmq to respect NOBLOCK flag.
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | eventlet/green/zmq.py | 11 |
2 files changed, 11 insertions, 1 deletions
@@ -69,3 +69,4 @@ Thanks To * Anonymous, finding and fixing error in websocket chat example (#70) * Edward George, finding and fixing an issue in the [e]poll hubs (#74) * Ruijun Luo, figuring out incorrect openssl import for wrap_ssl (#73) +* rfk, patch to get green zmq to respect noblock flag. diff --git a/eventlet/green/zmq.py b/eventlet/green/zmq.py index a8d55cf..c2d8a44 100644 --- a/eventlet/green/zmq.py +++ b/eventlet/green/zmq.py @@ -70,6 +70,9 @@ class Socket(__zmq__.Socket): def _send_message(self, msg, flags=0): + if flags & __zmq__.NOBLOCK: + super(Socket,self)._send_message(msg, flags) + return flags |= __zmq__.NOBLOCK while True: try: @@ -81,6 +84,9 @@ class Socket(__zmq__.Socket): trampoline(self, write=True) def _send_copy(self, msg, flags=0): + if flags & __zmq__.NOBLOCK: + super(Socket,self)._send_copy(msg, flags) + return flags |= __zmq__.NOBLOCK while True: try: @@ -92,7 +98,8 @@ class Socket(__zmq__.Socket): trampoline(self, write=True) def _recv_message(self, flags=0, track=False): - + if flags & __zmq__.NOBLOCK: + return super(Socket,self)._recv_message(flags) flags |= __zmq__.NOBLOCK while True: try: @@ -105,6 +112,8 @@ class Socket(__zmq__.Socket): trampoline(self, read=True) def _recv_copy(self, flags=0): + if flags & __zmq__.NOBLOCK: + return super(Socket,self)._recv_copy(flags) flags |= __zmq__.NOBLOCK while True: try: |