From cd4b609b7c3fe6b975db0bb0300acee8e2bec915 Mon Sep 17 00:00:00 2001 From: "A. Jesse Jiryu Davis" Date: Mon, 7 Oct 2013 15:26:54 -0400 Subject: [PATCH] Semaphore management during connection failure. PYTHON-580 --- pymongo/pool.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pymongo/pool.py b/pymongo/pool.py index 237e5648c..f3e74294c 100644 --- a/pymongo/pool.py +++ b/pymongo/pool.py @@ -349,7 +349,8 @@ class Pool: # request until end_request. self._set_request_state(sock_info) except: - self._socket_semaphore.release() + if not forced: + self._socket_semaphore.release() raise sock_info.last_checkout = time.time()