D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
usr
/
lib64
/
python3.6
/
unittest
/
Filename :
signals.py
back
Copy
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)
Name
Size
Last Modified
Owner
Permissions
Actions
__pycache__
Dir
December 06 2024 3:40:16
root
0755
__init__.py
3.104
KB
December 05 2024 1:00:51
root
0644
__main__.py
0.474
KB
December 23 2018 9:37:14
root
0644
case.py
56.152
KB
December 05 2024 1:00:51
root
0644
loader.py
21.703
KB
December 23 2018 9:37:14
root
0644
main.py
10.305
KB
December 23 2018 9:37:14
root
0644
mock.py
77.984
KB
December 23 2018 9:37:14
root
0644
result.py
7.268
KB
December 23 2018 9:37:14
root
0644
runner.py
7.569
KB
December 23 2018 9:37:14
root
0644
signals.py
2.347
KB
December 23 2018 9:37:14
root
0644
suite.py
10.233
KB
December 23 2018 9:37:14
root
0644
util.py
5.306
KB
December 23 2018 9:37:14
root
0644
2017 © D7net | D704T team