diff mbox

[ovs-dev,V6,02/17] python tests: Register signal handlers only on supported types on Windows

Message ID 1467808691-17280-3-git-send-email-pboca@cloudbasesolutions.com
State Superseded
Delegated to: Guru Shetty
Headers show

Commit Message

Paul Boca July 6, 2016, 12:38 p.m. UTC
SIGHUP and SIGALRM are not available on Windows.

Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>
---
V2: Fixed Python function inet_open_active, treat WSAEWOULDBLOCK error as
    EINPROGRESS on Windows
V3: No changes
V4: No changes
V5: No changes
V6: No changes
---
 python/ovs/fatal_signal.py | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

Comments

Alin Serdean July 6, 2016, 4:23 p.m. UTC | #1
The code is sound but looks a bit messy. What do you think about?
@@ -15,6 +15,7 @@
 import atexit
 import os
 import signal
+import sys

 import ovs.vlog

@@ -129,8 +130,12 @@ def _init():
     if not _inited:
         _inited = True

-        for signr in (signal.SIGTERM, signal.SIGINT,
-                      signal.SIGHUP, signal.SIGALRM):
# Add OS specific interrupt signals
+        if sys.platform == "win32":
+            signals = [signal.SIGTERM, signal.SIGINT]
+        else:
+            signals = [signal.SIGTERM, signal.SIGINT, signal.SIGHUP, signal.SIGALRM]
+
+        for signr in signals:
             if signal.getsignal(signr) == signal.SIG_DFL:
                 signal.signal(signr, _signal_handler)
         atexit.register(_atexit_handler)

Alin.

> -----Mesaj original-----

> De la: dev [mailto:dev-bounces@openvswitch.org] În numele Paul Boca

> Trimis: Wednesday, July 6, 2016 3:38 PM

> Către: dev@openvswitch.org

> Subiect: [ovs-dev] [PATCH V6 02/17] python tests: Register signal handlers

> only on supported types on Windows

> 

> SIGHUP and SIGALRM are not available on Windows.

> 

> Signed-off-by: Paul-Daniel Boca <pboca@cloudbasesolutions.com>

> ---

> V2: Fixed Python function inet_open_active, treat WSAEWOULDBLOCK error

> as

>     EINPROGRESS on Windows

> V3: No changes

> V4: No changes

> V5: No changes

> V6: No changes

> ---

>  python/ovs/fatal_signal.py | 15 ++++++++++-----

>  1 file changed, 10 insertions(+), 5 deletions(-)

>
diff mbox

Patch

diff --git a/python/ovs/fatal_signal.py b/python/ovs/fatal_signal.py
index 7308039..5b90559 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
 
@@ -128,9 +129,13 @@  def _init():
     global _inited
     if not _inited:
         _inited = True
-
-        for signr in (signal.SIGTERM, signal.SIGINT,
-                      signal.SIGHUP, signal.SIGALRM):
-            if signal.getsignal(signr) == signal.SIG_DFL:
-                signal.signal(signr, _signal_handler)
+        if sys.platform == "win32":
+            for signr in (signal.SIGTERM, signal.SIGINT):
+                if signal.getsignal(signr) == signal.SIG_DFL:
+                    signal.signal(signr, _signal_handler)
+        else:
+            for signr in (signal.SIGTERM, signal.SIGINT,
+                          signal.SIGHUP, signal.SIGALRM):
+                if signal.getsignal(signr) == signal.SIG_DFL:
+                    signal.signal(signr, _signal_handler)
         atexit.register(_atexit_handler)