diff options
author | Paul Boca <pboca@cloudbasesolutions.com> | 2016-08-02 17:45:39 +0000 |
---|---|---|
committer | Gurucharan Shetty <guru@ovn.org> | 2016-08-03 08:23:39 -0700 |
commit | 36d516346a9a780342db065eb016bd3015537b8f (patch) | |
tree | 1d24933a26fe70eb95d9cfa54f16fe8fc7f4b758 /python | |
parent | 922247c68438d5718dbfbbb11d6c4bb0799105c7 (diff) | |
download | openvswitch-36d516346a9a780342db065eb016bd3015537b8f.tar.gz |
python tests: Implemented signal.alarm for Windows
signal.alarm is not available in Windows and would trigger an exception
when called. Implemented this to mentain compatibility between
Windows and Linux for python tests.
Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
Diffstat (limited to 'python')
-rw-r--r-- | python/ovs/fatal_signal.py | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/python/ovs/fatal_signal.py b/python/ovs/fatal_signal.py index 730803922..719f21b0e 100644 --- a/python/ovs/fatal_signal.py +++ b/python/ovs/fatal_signal.py @@ -15,6 +15,7 @@ import atexit import os import signal +import sys import ovs.vlog @@ -134,3 +135,25 @@ def _init(): if signal.getsignal(signr) == signal.SIG_DFL: signal.signal(signr, _signal_handler) atexit.register(_atexit_handler) + + +def signal_alarm(timeout): + if sys.platform == "win32": + import os + import time + import threading + + class Alarm (threading.Thread): + def __init__(self, timeout): + super(Alarm, self).__init__() + self.timeout = timeout + self.setDaemon(True) + + def run(self): + time.sleep(self.timeout) + os._exit(1) + + alarm = Alarm(timeout) + alarm.start() + else: + signal.alarm(timeout) |