diff --git a/src/trio/_sync.py b/src/trio/_sync.py index dbdee0798..d8c16f6d9 100644 --- a/src/trio/_sync.py +++ b/src/trio/_sync.py @@ -377,8 +377,8 @@ async def acquire_on_behalf_of(self, borrower: Task | object) -> None: self._pending_borrowers[task] = borrower try: await self._lot.park() - except trio.Cancelled: - self._pending_borrowers.pop(task) + except BaseException: + self._pending_borrowers.pop(task, None) raise else: await trio.lowlevel.cancel_shielded_checkpoint()