From eb706bd3a796a7499278dcd20af95c3dd5da98a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= Date: Thu, 29 May 2025 12:50:23 -0400 Subject: [PATCH] fix crash in some rare eventlet edge cases Closes: #70 --- src/manhole/__init__.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/src/manhole/__init__.py b/src/manhole/__init__.py index afdc4ad..a4b8c00 100644 --- a/src/manhole/__init__.py +++ b/src/manhole/__init__.py @@ -40,19 +40,13 @@ class BrokenPipeError(Exception): setinterval = sys.setcheckinterval getinterval = sys.getcheckinterval -try: +if "eventlet" in sys.modules: from eventlet.patcher import original as _original - +elif "gevent" in sys.modules: + from gevent.monkey import get_original as _get_original +else: def _get_original(mod, name): - return getattr(_original(mod), name) - -except ImportError: - try: - from gevent.monkey import get_original as _get_original - except ImportError: - - def _get_original(mod, name): - return getattr(__import__(mod), name) + return getattr(__import__(mod), name) _ORIGINAL_SOCKET = _get_original('socket', 'socket')