tengo este decorador:Python: ventanas equivalente de SIGALRM
def timed_out(timeout):
def decorate(f):
if not hasattr(signal, "SIGALRM"):
return f
def handler(signum, frame):
raise TimedOutExc()
@functools.wraps(f)
def new_f(*args, **kwargs):
old = signal.signal(signal.SIGALRM, handler)
signal.alarm(timeout)
try:
result = f(*args, **kwargs)
finally:
signal.signal(signal.SIGALRM, old)
signal.alarm(0)
return result
new_f.func_name = f.func_name
return new_f
return decorate
El código sólo hace nada en Linux, sin embargo, como en las ventanas, no hay SIGALRM
. ¿Cuál sería la forma más simple de hacer que este código también funcione en Windows?
Podría alguien señalar lo que está mal con esta respuesta? No veo ningún problema con eso yo mismo. (Soy el autor) –