|
@@ -15,7 +15,21 @@ def reset_signal(signal_name):
|
|
|
try:
|
|
|
signum = getattr(signal, signal_name)
|
|
|
signal.signal(signum, signal.SIG_DFL)
|
|
|
- except AttributeError:
|
|
|
+ except (AttributeError, ValueError):
|
|
|
+ pass
|
|
|
+
|
|
|
+
|
|
|
+def ignore_signal(signal_name):
|
|
|
+ """Ignore signal using :const:`SIG_IGN`.
|
|
|
+
|
|
|
+ Does nothing if the platform doesn't support signals,
|
|
|
+ or the specified signal in particular.
|
|
|
+
|
|
|
+ """
|
|
|
+ try:
|
|
|
+ signum = getattr(signal, signal_name)
|
|
|
+ signal.signal(signum, signal.SIG_IGN)
|
|
|
+ except (AttributeError, ValueError):
|
|
|
pass
|
|
|
|
|
|
|
|
@@ -29,7 +43,7 @@ def install_signal_handler(signal_name, handler):
|
|
|
try:
|
|
|
signum = getattr(signal, signal_name)
|
|
|
signal.signal(signum, handler)
|
|
|
- except AttributeError:
|
|
|
+ except (AttributeError, ValueError):
|
|
|
pass
|
|
|
|
|
|
|