(self)
| 132 | self._ov = None |
| 133 | |
| 134 | def _unregister_wait(self): |
| 135 | if not self._registered: |
| 136 | return |
| 137 | self._registered = False |
| 138 | |
| 139 | wait_handle = self._wait_handle |
| 140 | self._wait_handle = None |
| 141 | try: |
| 142 | _overlapped.UnregisterWait(wait_handle) |
| 143 | except OSError as exc: |
| 144 | if exc.winerror != _overlapped.ERROR_IO_PENDING: |
| 145 | context = { |
| 146 | 'message': 'Failed to unregister the wait handle', |
| 147 | 'exception': exc, |
| 148 | 'future': self, |
| 149 | } |
| 150 | if self._source_traceback: |
| 151 | context['source_traceback'] = self._source_traceback |
| 152 | self._loop.call_exception_handler(context) |
| 153 | return |
| 154 | # ERROR_IO_PENDING means that the unregister is pending |
| 155 | |
| 156 | self._unregister_wait_cb(None) |
| 157 | |
| 158 | def cancel(self, msg=None): |
| 159 | self._unregister_wait() |
no test coverage detected