[ovs-dev] [PATCH V11 09/17] python tests: Fixed OSError not iterable on Windows

Paul Boca pboca at cloudbasesolutions.com
Tue Aug 2 17:45:43 UTC 2016


On Windows if this exception is triggered then it will raise an exception while in the
exception handler.

Signed-off-by: Paul-Daniel Boca <pboca at cloudbasesolutions.com>
Acked-by: Alin Gabriel Serdean <aserdean at cloudbasesolutions.com>
---
V2: No changes
V3: No changes
V4: No changes
V5: No changes
V6: No changes
V7: No changes
V8: Added comment when using OSError on Windows
V9: No changes
V10: No changes
V11: No changes
---
 python/ovs/poller.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/python/ovs/poller.py b/python/ovs/poller.py
index 20be801..3ebaf5a 100644
--- a/python/ovs/poller.py
+++ b/python/ovs/poller.py
@@ -17,6 +17,7 @@ import ovs.timeval
 import ovs.vlog
 import select
 import socket
+import os
 
 try:
     import eventlet.patcher
@@ -168,6 +169,12 @@ class Poller(object):
             try:
                 events = self.poll.poll(self.timeout)
                 self.__log_wakeup(events)
+            except OSError as e:
+                """ On Windows, the select function from poll raises OSError
+                exception if the polled array is empty."""
+                error = e.errno
+                if error != errno.EINTR:
+                    vlog.err("poll: %s" % os.strerror(e.errno))
             except select.error as e:
                 # XXX rate-limit
                 error, msg = e
-- 
2.7.2.windows.1



More information about the dev mailing list