Jon Schlueter 09a2be7
From ed0655333007fe97624b745e92deb407d192022c Mon Sep 17 00:00:00 2001
Jon Schlueter 09a2be7
From: Sergey Shepelev <temotor@gmail.com>
Jon Schlueter 09a2be7
Date: Fri, 15 May 2015 03:56:04 +0300
Jon Schlueter 09a2be7
Subject: [PATCH] greenio: send() was running empty loop on ENOTCONN; Thanks to
Jon Schlueter 09a2be7
 Seyeong Kim
Jon Schlueter 09a2be7
Jon Schlueter 09a2be7
https://github.com/eventlet/eventlet/issues/192
Jon Schlueter 09a2be7
Jon Schlueter 09a2be7
cherry-picked-from: ed0655333007fe97624b745e92deb407d192022c
Jon Schlueter 09a2be7
---
Jon Schlueter 09a2be7
 AUTHORS                  | 1 +
Jon Schlueter 09a2be7
 eventlet/greenio/base.py | 3 ++-
Jon Schlueter 09a2be7
 2 files changed, 3 insertions(+), 1 deletion(-)
Jon Schlueter 09a2be7
Jon Schlueter 09a2be7
diff --git a/AUTHORS b/AUTHORS
Jon Schlueter 09a2be7
index e0ab0e2..c57f010 100644
Jon Schlueter 09a2be7
--- a/AUTHORS
Jon Schlueter 09a2be7
+++ b/AUTHORS
Jon Schlueter 09a2be7
@@ -119,3 +119,4 @@ Thanks To
Jon Schlueter 09a2be7
 * Sean Dague, wsgi: Provide python logging compatibility
Jon Schlueter 09a2be7
 * Tim Simmons, Use _socket_nodns and select in dnspython support
Jon Schlueter 09a2be7
 * Antonio Cuni, fix fd double close on PyPy
Jon Schlueter 09a2be7
+* Seyeong Kim
Jon Schlueter 09a2be7
diff --git a/eventlet/greenio/base.py b/eventlet/greenio/base.py
Jon Schlueter 09a2be7
index 8da51ca..1e43176 100644
Jon Schlueter 09a2be7
--- a/eventlet/greenio/base.py
Jon Schlueter 09a2be7
+++ b/eventlet/greenio/base.py
Jon Schlueter 09a2be7
@@ -358,7 +358,8 @@ class GreenSocket(object):
Jon Schlueter 09a2be7
             try:
Jon Schlueter 09a2be7
                 total_sent += fd.send(data[total_sent:], flags)
Jon Schlueter 09a2be7
             except socket.error as e:
Jon Schlueter 09a2be7
-                if get_errno(e) not in SOCKET_BLOCKING:
Jon Schlueter 09a2be7
+                eno = get_errno(e)
Jon Schlueter 09a2be7
+                if eno == errno.ENOTCONN or eno not in SOCKET_BLOCKING:
Jon Schlueter 09a2be7
                     raise
Jon Schlueter 09a2be7
 
Jon Schlueter 09a2be7
             if total_sent == len_data:
Jon Schlueter 09a2be7
-- 
Jon Schlueter 09a2be7
2.1.0
Jon Schlueter 09a2be7