bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter … · python/cpython@3bc68cf (original) (raw)

Original file line number Diff line number Diff line change
@@ -61,8 +61,14 @@ def _socketpair(self):
61 61
62 62 def close(self):
63 63 super().close()
64 -for sig in list(self._signal_handlers):
65 -self.remove_signal_handler(sig)
64 +if not sys.is_finalizing():
65 +for sig in list(self._signal_handlers):
66 +self.remove_signal_handler(sig)
67 +else:
68 +warinigs.warn(f"Closing the loop {self!r} on interpreter shutdown "
69 +f"stage, signal unsubsription is disabled",
70 +ResourceWarning,
71 +source=self)
66 72
67 73 def _process_self_data(self, data):
68 74 for signum in data: