bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter shutdown (GH-4956) (#4962)

(cherry picked from commit 4a02543cf9)
This commit is contained in:
Miss Islington (bot) 2017-12-21 09:42:32 -08:00 committed by Andrew Svetlov
parent fdb148f949
commit 3bc68cff5b
2 changed files with 9 additions and 2 deletions

View file

@ -61,8 +61,14 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
def close(self): def close(self):
super().close() super().close()
if not sys.is_finalizing():
for sig in list(self._signal_handlers): for sig in list(self._signal_handlers):
self.remove_signal_handler(sig) self.remove_signal_handler(sig)
else:
warinigs.warn(f"Closing the loop {self!r} on interpreter shutdown "
f"stage, signal unsubsription is disabled",
ResourceWarning,
source=self)
def _process_self_data(self, data): def _process_self_data(self, data):
for signum in data: for signum in data:

View file

@ -0,0 +1 @@
Don't unsubscribe signals in asyncio UNIX event loop on interpreter shutdown.