diff options
author | Guido van Rossum <guido@python.org> | 2022-09-17 21:12:45 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-17 21:12:45 (GMT) |
commit | 487135a396a504482ae3a7e9c7f80a44627a5a3f (patch) | |
tree | ecd59a74af59759d07477126b7e8a340274c6ec4 /Lib/asyncio | |
parent | 7e36abbb7815b14777c207dba0fe6fcd41d6d37a (diff) | |
download | cpython-487135a396a504482ae3a7e9c7f80a44627a5a3f.zip cpython-487135a396a504482ae3a7e9c7f80a44627a5a3f.tar.gz cpython-487135a396a504482ae3a7e9c7f80a44627a5a3f.tar.bz2 |
Revert "gh-87079: Warn on unintended signal wakeup fd override in `asyncio` (#96807)" (#96898)
This reverts commit 05878106989c6f5b9dd35a6c15a21bee59312827.
Reason: This broke buildbots (some warnings added by that commit are turned to errors in the SSL buildbot).
Repro: ./python Lib/test/ssltests.py
Diffstat (limited to 'Lib/asyncio')
-rw-r--r-- | Lib/asyncio/proactor_events.py | 14 | ||||
-rw-r--r-- | Lib/asyncio/unix_events.py | 19 |
2 files changed, 5 insertions, 28 deletions
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py index 4808c5d..ddb9dac 100644 --- a/Lib/asyncio/proactor_events.py +++ b/Lib/asyncio/proactor_events.py @@ -635,12 +635,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop): self._make_self_pipe() if threading.current_thread() is threading.main_thread(): # wakeup fd can only be installed to a file descriptor from the main thread - oldfd = signal.set_wakeup_fd(self._csock.fileno()) - if oldfd != -1: - warnings.warn( - "Signal wakeup fd was already set", - ResourceWarning, - source=self) + signal.set_wakeup_fd(self._csock.fileno()) def _make_socket_transport(self, sock, protocol, waiter=None, extra=None, server=None): @@ -689,12 +684,7 @@ class BaseProactorEventLoop(base_events.BaseEventLoop): return if threading.current_thread() is threading.main_thread(): - oldfd = signal.set_wakeup_fd(-1) - if oldfd != self._csock.fileno(): - warnings.warn( - "Got unexpected signal wakeup fd", - ResourceWarning, - source=self) + signal.set_wakeup_fd(-1) # Call these methods before closing the event loop (before calling # BaseEventLoop.close), because they can schedule callbacks with # call_soon(), which is forbidden when the event loop is closed. diff --git a/Lib/asyncio/unix_events.py b/Lib/asyncio/unix_events.py index 6c9a89d..cf7683f 100644 --- a/Lib/asyncio/unix_events.py +++ b/Lib/asyncio/unix_events.py @@ -65,9 +65,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): self._signal_handlers = {} def close(self): - # remove signal handlers first to verify - # the loop's signal handling setup has not - # been tampered with + super().close() if not sys.is_finalizing(): for sig in list(self._signal_handlers): self.remove_signal_handler(sig) @@ -79,7 +77,6 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): ResourceWarning, source=self) self._signal_handlers.clear() - super().close() def _process_self_data(self, data): for signum in data: @@ -105,12 +102,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): # main thread. By calling it early we ensure that an # event loop running in another thread cannot add a signal # handler. - oldfd = signal.set_wakeup_fd(self._csock.fileno()) - if oldfd != -1 and oldfd != self._csock.fileno(): - warnings.warn( - "Signal wakeup fd was already set", - ResourceWarning, - source=self) + signal.set_wakeup_fd(self._csock.fileno()) except (ValueError, OSError) as exc: raise RuntimeError(str(exc)) @@ -174,12 +166,7 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop): if not self._signal_handlers: try: - oldfd = signal.set_wakeup_fd(-1) - if oldfd != -1 and oldfd != self._csock.fileno(): - warnings.warn( - "Got unexpected signal wakeup fd", - ResourceWarning, - source=self) + signal.set_wakeup_fd(-1) except (ValueError, OSError) as exc: logger.info('set_wakeup_fd(-1) failed: %s', exc) |