| 37 | self.obj.timeout_change() |
| 38 | |
| 39 | class _local_handler(object): |
| 40 | def __init__(self, obj, timeout): |
| 41 | self.obj = obj |
| 42 | self.timeout = timeout |
| 43 | def __enter__(self): |
| 44 | self.old_timeout = self.obj._timeout |
| 45 | self.old_stop = self.obj._stop |
| 46 | |
| 47 | self.obj._stop = 0 |
| 48 | self.obj._timeout = self.timeout # leverage validation |
| 49 | self.obj.timeout_change() |
| 50 | |
| 51 | def __exit__(self, *a): |
| 52 | self.obj._timeout = self.old_timeout |
| 53 | self.obj._stop = self.old_stop |
| 54 | self.obj.timeout_change() |
| 55 | |
| 56 | class TimeoutDefault(object): |
| 57 | def __repr__(self): return "pwnlib.timeout.Timeout.default" |