@@ -65,7 +65,6 @@ def __init__(
65
65
max_await_time_ms : Optional [int ] = None ,
66
66
session : Optional [AsyncClientSession ] = None ,
67
67
comment : Any = None ,
68
- leave_session_alive : bool = False ,
69
68
) -> None :
70
69
"""Create a new command cursor."""
71
70
self ._sock_mgr : Any = None
@@ -84,7 +83,6 @@ def __init__(
84
83
self ._session .attached_to_cursor = True
85
84
self ._killed = self ._id == 0
86
85
self ._comment = comment
87
- self ._leave_session_alive = leave_session_alive
88
86
if self ._killed :
89
87
self ._end_session ()
90
88
@@ -222,9 +220,9 @@ def _die_no_lock(self) -> None:
222
220
self ._collection .database .client ._cleanup_cursor_no_lock (
223
221
cursor_id , address , self ._sock_mgr , self ._session
224
222
)
225
- if self ._session :
226
- if self ._session .implicit :
227
- self ._session = None
223
+ if self ._session and self . _session . implicit :
224
+ self ._session .attached_to_cursor = False
225
+ self ._session = None
228
226
self ._sock_mgr = None
229
227
230
228
async def _die_lock (self ) -> None :
@@ -236,18 +234,16 @@ async def _die_lock(self) -> None:
236
234
self ._sock_mgr ,
237
235
self ._session ,
238
236
)
239
- if self ._session :
240
- if self ._session .implicit :
241
- self ._session = None
237
+ if self ._session and self . _session . implicit :
238
+ self ._session .attached_to_cursor = False
239
+ self ._session = None
242
240
self ._sock_mgr = None
243
241
244
242
def _end_session (self ) -> None :
245
- if self ._session and self ._session .implicit :
243
+ if self ._session and self ._session .implicit and not self . _session . leave_alive :
246
244
self ._session .attached_to_cursor = False
247
- if not self ._leave_session_alive :
248
- # print(f"Ending session {self}, session: {self._session}")
249
- self ._session ._end_implicit_session ()
250
- self ._session = None
245
+ self ._session ._end_implicit_session ()
246
+ self ._session = None
251
247
252
248
async def close (self ) -> None :
253
249
"""Explicitly close / kill this cursor."""
0 commit comments