(seconds: float)
| 86 | pass |
| 87 | @contextlib.contextmanager |
| 88 | def time_limit(seconds: float): |
| 89 | def signal_handler(signum, frame): |
| 90 | raise TimeoutException("Timed out!") |
| 91 | signal.setitimer(signal.ITIMER_REAL, seconds) |
| 92 | signal.signal(signal.SIGALRM, signal_handler) |
| 93 | try: |
| 94 | yield |
| 95 | finally: |
| 96 | signal.setitimer(signal.ITIMER_REAL, 0) |
| 97 | |
| 98 | def exec_helper(code): |
| 99 | with time_limit(3): |