summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorVictor J. Orlikowski <vjo@duke.edu>2016-04-19 19:28:03 -0400
committerFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>2016-04-20 08:48:53 +0900
commitf61bb5f9385a9fd177ea5cceefdec7af2410e756 (patch)
treed0cafbf185af335f96647f3f1736ed73d7398fcf
parentd1495523eb4cb801021cbea0d9842a4ae4dda8d7 (diff)
Eventlet throws a subclass of IOError when an SSL read timeout occurs. Ensure that the read loop continues in this case.
Signed-off-by: Victor J. Orlikowski <vjo@duke.edu> Tested-by: Andy Hill <hillad@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
-rw-r--r--ryu/controller/controller.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/ryu/controller/controller.py b/ryu/controller/controller.py
index 08304d21..1ae72876 100644
--- a/ryu/controller/controller.py
+++ b/ryu/controller/controller.py
@@ -194,6 +194,10 @@ class Datapath(ofproto_protocol.ProtocolDesc):
ret = self.socket.recv(required_len)
except SocketTimeout:
continue
+ except ssl.SSLError:
+ # eventlet throws SSLError (which is a subclass of IOError)
+ # on SSL socket read timeout; re-try the loop in this case.
+ continue
except (EOFError, IOError):
break