File 0001-QPID-5790-avoid-use-of-poll-if-select-is-monkey-patc.patch of Package python-qpid

From 747c66adaa417eb18485a2032b7d27ac23094896 Mon Sep 17 00:00:00 2001
From: Ken Giusti <kgiusti@apache.org>
Date: Fri, 30 May 2014 13:08:23 +0000
Subject: [PATCH] QPID-5790: avoid use of poll if select is monkey-patched by
 Eventlet/Greenthreads

git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1598586 13f79535-47bb-0310-9956-ffa450edef68
---
 qpid/python/qpid/compat.py | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/qpid/python/qpid/compat.py b/qpid/python/qpid/compat.py
index 1fad902..12966c2 100644
--- a/qpid/python/qpid/compat.py
+++ b/qpid/python/qpid/compat.py
@@ -40,10 +40,18 @@ except ImportError:
   def format_exc():
     return "".join(traceback.format_exception(*sys.exc_info()))
 
-# prefer poll() to select(), as it performs better at scale:
+# QPID-5588: prefer poll() to select(), as it allows file descriptors with
+# values > FD_SETSIZE
 import select as _select_mod
-if hasattr(_select_mod, "poll"):
+try:
+  # QPID-5790: unless eventlet/greenthreads have monkey-patched the select
+  # module, as to date poll() is not properly supported by eventlet
+  import eventlet
+  _is_patched = eventlet.patcher.is_monkey_patched("select")
+except ImportError:
+  _is_patched = False
 
+if hasattr(_select_mod, "poll") and not _is_patched:
   from select import error as SelectError
   def select(rlist, wlist, xlist, timeout=None):
     fd_count = 0
-- 
1.9.3