| 213 | |
| 214 | |
| 215 | class Handle(int): |
| 216 | closed = False |
| 217 | |
| 218 | def Close(self, CloseHandle=_winapi.CloseHandle): |
| 219 | if not self.closed: |
| 220 | self.closed = True |
| 221 | CloseHandle(self) |
| 222 | |
| 223 | def Detach(self): |
| 224 | if not self.closed: |
| 225 | self.closed = True |
| 226 | return int(self) |
| 227 | raise ValueError("already closed") |
| 228 | |
| 229 | def __repr__(self): |
| 230 | return "%s(%d)" % (self.__class__.__name__, int(self)) |
| 231 | |
| 232 | __del__ = Close |
| 233 | else: |
| 234 | # When select or poll has indicated that the file is writable, |
| 235 | # we can write up to _PIPE_BUF bytes without risk of blocking. |
no outgoing calls
no test coverage detected