Skip to content

Commit 4a02543

Browse files
authored
bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter shutdown (#4956)
1 parent e47e698 commit 4a02543

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

Lib/asyncio/unix_events.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,14 @@ def __init__(self, selector=None):
5151

5252
def close(self):
5353
super().close()
54-
for sig in list(self._signal_handlers):
55-
self.remove_signal_handler(sig)
54+
if not sys.is_finalizing():
55+
for sig in list(self._signal_handlers):
56+
self.remove_signal_handler(sig)
57+
else:
58+
warinigs.warn(f"Closing the loop {self!r} on interpreter shutdown "
59+
f"stage, signal unsubsription is disabled",
60+
ResourceWarning,
61+
source=self)
5662

5763
def _process_self_data(self, data):
5864
for signum in data:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Don't unsubscribe signals in asyncio UNIX event loop on interpreter shutdown.

0 commit comments

Comments
 (0)