From bddee65ed81426fae49460ef3ed5f2e4b5bc4069 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 717f522f6..c17fe4d50 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()