@@ -1,7 +1,7 @@
11import sys
22from time import time
33from itertools import cycle
4−from threading import RLock, local
4+from threading import local
55
66import requests
77
@@ -88,10 +88,12 @@ class SessionSinglePool(requests.Session):
8888 super().__init__()
8989
9090 # reuse the same adapters
91− with RLock():
92− self.adapters.clear()
93− self.mount('https://', next(https_adapters))
94− self.mount('http://', next(http_adapters))
91+ self.adapters.clear()
92+
93+ https_adapter = threadLocal.__dict__.setdefault('https_adapter', next(https_adapters))
94+ http_adapter = threadLocal.__dict__.setdefault('http_adapter', next(http_adapters))
95+ self.mount('https://', https_adapter)
96+ self.mount('http://', http_adapter)
9597
9698 def close(self):
9799 """Call super, but clear adapters since there are managed globaly"""