Refactor timeout handling to handle AttributeError and ValueError for Windows users (#234)

This commit is contained in:
Knuth
2024-10-10 16:09:57 +02:00
committed by GitHub
parent 337a5782d9
commit 8e403d0136

View File

@@ -22,11 +22,13 @@ class TimeoutHandler:
return
try:
signal.signal(signal.SIGALRM, self.raise_timeout_exception)
except AttributeError: # AttributeError is raised for Windows users
signal.alarm(self._timeout)
except (
ValueError,
AttributeError,
): # AttributeError or ValueError might be raised for Windows users
logger.debug(_("SIGALARM is not available on your platform"))
signal.alarm(self._timeout)
def __exit__(self, exc_type, exc_value, traceback):
if self._timeout == -1:
return
@@ -34,5 +36,8 @@ class TimeoutHandler:
try:
signal.alarm(0)
signal.signal(signal.SIGALRM, signal.SIG_DFL)
except AttributeError: # AttributeError is raised for Windows users
except (
ValueError,
AttributeError,
): # AttributeError or ValueError might be raised for Windows users
logger.debug(_("SIGALARM is not available on your platform"))