Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:Update
openvswitch.10750
0006-python-Catch-setsockopt-exceptions-for-TCP...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0006-python-Catch-setsockopt-exceptions-for-TCP-stream.patch of Package openvswitch.10750
From 5078ae8bb9cbe5a3d9575be87475ecd0e63ce328 Mon Sep 17 00:00:00 2001 From: Ilya Maximets <i.maximets@samsung.com> Date: Thu, 20 Dec 2018 20:35:57 +0300 Subject: [PATCH 06/14] python: Catch setsockopt exceptions for TCP stream. 'sock.setsockopt' could throw exceptions. For example, if non-blocking connection failed before the call: Traceback (most recent call last): File "../.././test-ovsdb.py", line 896, in <module> main(sys.argv) File "../.././test-ovsdb.py", line 891, in main func(*args) File "../.././test-ovsdb.py", line 604, in do_idl ovs.stream.Stream.open(r)) File "/root/git_/ovs/python/ovs/stream.py", line 190, in open error, sock = cls._open(suffix, dscp) File "/root/git_/ovs/python/ovs/stream.py", line 744, in _open sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) File "/usr/local/lib/python2.7/socket.py", line 228, in meth return getattr(self._sock,name)(*args) socket.error: [Errno 54] Connection reset by peer This fixes tests on FreeBSD. Signed-off-by: Ilya Maximets <i.maximets@samsung.com> Signed-off-by: Ben Pfaff <blp@ovn.org> --- python/ovs/stream.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/ovs/stream.py b/python/ovs/stream.py index fb083eeeb..d8b285f1a 100644 --- a/python/ovs/stream.py +++ b/python/ovs/stream.py @@ -361,6 +361,10 @@ class TCPStream(Stream): error, sock = ovs.socket_util.inet_open_active(socket.SOCK_STREAM, suffix, 0, dscp) if not error: - sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + try: + sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1) + except socket.error as e: + sock.close() + return ovs.socket_util.get_exception_errno(e), None return error, sock Stream.register_method("tcp", TCPStream) -- 2.21.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor