summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Williams <breath@alum.mit.edu>2011-01-27 11:41:30 -0800
committerRyan Williams <breath@alum.mit.edu>2011-01-27 11:41:30 -0800
commitf443bf514ba335ee0cc7d26478b2fef2a06011ae (patch)
tree3180c119ed658f15c4e1568c58c06978b1b1cb0d
parent97da375d174a0e32bd5593abab2f5bd9d84cbe35 (diff)
downloadeventlet-f443bf514ba335ee0cc7d26478b2fef2a06011ae.tar.gz
Importing patch from rfk to get green.zmq to respect NOBLOCK flag.
-rw-r--r--AUTHORS1
-rw-r--r--eventlet/green/zmq.py11
2 files changed, 11 insertions, 1 deletions
diff --git a/AUTHORS b/AUTHORS
index 7e7a149..c8da37c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -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: