(self, fut)
| 201 | self._event_fut = None |
| 202 | |
| 203 | def _unregister_wait_cb(self, fut): |
| 204 | if self._event is not None: |
| 205 | _winapi.CloseHandle(self._event) |
| 206 | self._event = None |
| 207 | self._event_fut = None |
| 208 | |
| 209 | # If the wait was cancelled, the wait may never be signalled, so |
| 210 | # it's required to unregister it. Otherwise, IocpProactor.close() will |
| 211 | # wait forever for an event which will never come. |
| 212 | # |
| 213 | # If the IocpProactor already received the event, it's safe to call |
| 214 | # _unregister() because we kept a reference to the Overlapped object |
| 215 | # which is used as a unique key. |
| 216 | self._proactor._unregister(self._ov) |
| 217 | self._proactor = None |
| 218 | |
| 219 | super()._unregister_wait_cb(fut) |
| 220 | |
| 221 | def _unregister_wait(self): |
| 222 | if not self._registered: |
nothing calls this directly
no test coverage detected