Skip to content

Commit 0f9e93a

Browse files
committed
Set token
1 parent 8e008ed commit 0f9e93a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

pymongo/asynchronous/client_session.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,10 +548,12 @@ def _check_ended(self) -> None:
548548
raise InvalidOperation("Cannot use ended session")
549549

550550
async def __aenter__(self) -> AsyncClientSession:
551-
_SESSION.set(self)
551+
self._token = _SESSION.set(self)
552552
return self
553553

554554
async def __aexit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None:
555+
if self._token:
556+
_SESSION.reset(self._token)
555557
await self._end_session(lock=True)
556558

557559
@property

pymongo/synchronous/client_session.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -547,10 +547,12 @@ def _check_ended(self) -> None:
547547
raise InvalidOperation("Cannot use ended session")
548548

549549
def __enter__(self) -> ClientSession:
550-
_SESSION.set(self)
550+
self._token = _SESSION.set(self)
551551
return self
552552

553553
def __exit__(self, exc_type: Any, exc_val: Any, exc_tb: Any) -> None:
554+
if self._token:
555+
_SESSION.reset(self._token)
554556
self._end_session(lock=True)
555557

556558
@property

0 commit comments

Comments
 (0)