Releases the already acquired lock
(self)
| 263 | return self.local.token is not None and stored_token == self.local.token |
| 264 | |
| 265 | def release(self) -> None: |
| 266 | """ |
| 267 | Releases the already acquired lock |
| 268 | """ |
| 269 | expected_token = self.local.token |
| 270 | if expected_token is None: |
| 271 | raise LockError( |
| 272 | "Cannot release a lock that's not owned or is already unlocked.", |
| 273 | lock_name=self.name, |
| 274 | ) |
| 275 | self.local.token = None |
| 276 | self.do_release(expected_token) |
| 277 | |
| 278 | def do_release(self, expected_token: str) -> None: |
| 279 | if not bool( |