D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
opt
/
python35
/
lib
/
python3.5
/
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 28 2023 9:18:59
root
0755
test
Dir
December 28 2023 9:20:25
root
0755
__init__.py
3.069
KB
December 28 2023 9:16:14
root
0755
__main__.py
0.474
KB
December 28 2023 9:16:14
root
0755
case.py
55.594
KB
December 28 2023 9:16:14
root
0755
loader.py
21.703
KB
December 28 2023 9:16:14
root
0755
main.py
10.305
KB
December 28 2023 9:16:14
root
0755
mock.py
76.618
KB
December 28 2023 9:16:14
root
0755
result.py
7.268
KB
December 28 2023 9:16:15
root
0755
runner.py
7.568
KB
December 28 2023 9:16:15
root
0755
signals.py
2.347
KB
December 28 2023 9:16:15
root
0755
suite.py
10.233
KB
December 28 2023 9:16:16
root
0755
util.py
5.306
KB
December 28 2023 9:16:16
root
0755
2017 © D7net | D704T team