in data/envs/babyai/create_babyai_dataset.py [0:0]
def call_with_timeout(func, args=[], kwargs={}, timeout_duration=1.0):
# Set the signal handler
signal.signal(signal.SIGALRM, timeout_handler)
# Set the interval timer
signal.setitimer(signal.ITIMER_REAL, timeout_duration, 0)
try:
result = func(*args, **kwargs)
except TimeoutError as e:
raise e
finally:
# Disable the interval timer
signal.setitimer(signal.ITIMER_REAL, 0)
return result