def timeout(seconds):
"""
Implement timeout
:param seconds: timeout in seconds
:type seconds: int
"""
def timeout_handler(signum, frame):
"""Function to call on a timeout event"""
if signum or frame:
pass
original_handler = signal.signal(signal.SIGALRM, timeout_handler)
try:
signal.alarm(seconds)
yield
finally:
signal.alarm(0)
signal.signal(signal.SIGALRM, original_handler)
评论列表
文章目录