| 524 | return not self._paused and not self._closing |
| 525 | |
| 526 | def __repr__(self): |
| 527 | info = [self.__class__.__name__] |
| 528 | if self._pipe is None: |
| 529 | info.append('closed') |
| 530 | elif self._closing: |
| 531 | info.append('closing') |
| 532 | info.append(f'fd={self._fileno}') |
| 533 | selector = getattr(self._loop, '_selector', None) |
| 534 | if self._pipe is not None and selector is not None: |
| 535 | polling = selector_events._test_selector_event( |
| 536 | selector, self._fileno, selectors.EVENT_READ) |
| 537 | if polling: |
| 538 | info.append('polling') |
| 539 | else: |
| 540 | info.append('idle') |
| 541 | elif self._pipe is not None: |
| 542 | info.append('open') |
| 543 | else: |
| 544 | info.append('closed') |
| 545 | return '<{}>'.format(' '.join(info)) |
| 546 | |
| 547 | def _read_ready(self): |
| 548 | try: |