8.2.34 | Linux | www-data (uid:33)
👁 View: signals.py
📁 //snap/core18/current/usr/lib/python3.6/unittest/signals.py
import signal import weakref from functools import wraps __unittest = True class _InterruptHandler(object): def __init__(self, default_handler): self.called = False self.original_handler = default_handler if isinstance(default_handler, int): if default_handler == signal.SIG_DFL: # Pretend it's signal.default_int_handler instead. default_handler = signal.default_int_handler elif default_handler == signal.SIG_IGN: # Not quite the same thing as SIG_IGN, but the closest we # can make it: do nothing. def default_handler(unused_signum, unused_frame): pass else: raise TypeError("expected SIGINT signal handler to be " "signal.SIG_IGN, signal.SIG_DFL, or a " "callable object") self.default_handler = default_handler def __call__(self, signum, frame): installed_handler = signal.getsignal(signal.SIGINT) if installed_handler is not self: # if we aren't the installed handler, then delegate immediately # to the default handler self.default_handler(signum, frame) if self.called: self.default_handler(signum, frame) self.called = True for result in _results.keys(): result.stop() _results = weakref.WeakKeyDictionary() def registerResult(result): _results[result] = 1 def removeResult(result): return bool(_results.pop(result, None)) _interrupt_handler = None def installHandler(): global _interrupt_handler if _interrupt_handler is None: default_handler = signal.getsignal(signal.SIGINT) _interrupt_handler = _InterruptHandler(default_handler) signal.signal(signal.SIGINT, _interrupt_handler) def removeHandler(method=None): if method is not None: @wraps(method) def inner(*args, **kwargs): initial = signal.getsignal(signal.SIGINT) removeHandler() try: return method(*args, **kwargs) finally: signal.signal(signal.SIGINT, initial) return inner global _interrupt_handler if _interrupt_handler is not None: signal.signal(signal.SIGINT, _interrupt_handler.original_handler)
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core18/current/usr/lib/python3.6/unittest
NameSizePermModifiedActions
📁 __pycache__/-07552026-09-01 05:19🗑 Delete
__init__.py3.1K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
__main__.py485B06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
case.py55.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
loader.py21.7K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
main.py10.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
mock.py78K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
result.py7.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
runner.py7.6K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
signals.py2.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
suite.py10.2K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
util.py5.3K06442026-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del