Server: appserver-7f0f8755-nginx-15961cad18524ec5a9db05f2a6a7e440
Current directory: /usr/lib/python2.7/unittest
Software: nginx/1.27.5
Shell Command
Create a new file
Upload file
File: 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)
.
20 Items
Change directory
Remove directory
Rename directory
..
442 Items
Change directory
Remove directory
Rename directory
__init__.py
2.65 KB
Edit
Delete
Copy
Move
Remame
__init__.pyc
2.89 KB
Edit
Delete
Copy
Move
Remame
__main__.py
0.23 KB
Edit
Delete
Copy
Move
Remame
__main__.pyc
0.47 KB
Edit
Delete
Copy
Move
Remame
case.py
41.73 KB
Edit
Delete
Copy
Move
Remame
case.pyc
39.24 KB
Edit
Delete
Copy
Move
Remame
loader.py
13.15 KB
Edit
Delete
Copy
Move
Remame
loader.pyc
11.04 KB
Edit
Delete
Copy
Move
Remame
main.py
8.87 KB
Edit
Delete
Copy
Move
Remame
main.pyc
7.79 KB
Edit
Delete
Copy
Move
Remame
result.py
6.16 KB
Edit
Delete
Copy
Move
Remame
result.pyc
7.69 KB
Edit
Delete
Copy
Move
Remame
runner.py
6.38 KB
Edit
Delete
Copy
Move
Remame
runner.pyc
7.41 KB
Edit
Delete
Copy
Move
Remame
signals.py
2.35 KB
Edit
Delete
Copy
Move
Remame
signals.pyc
2.68 KB
Edit
Delete
Copy
Move
Remame
suite.py
9.58 KB
Edit
Delete
Copy
Move
Remame
suite.pyc
10.22 KB
Edit
Delete
Copy
Move
Remame
util.py
4.5 KB
Edit
Delete
Copy
Move
Remame
util.pyc
4.4 KB
Edit
Delete
Copy
Move
Remame