From 4d4ffbf9058af4bb3b3a6eb58d3dc73b8eaa1a62 Mon Sep 17 00:00:00 2001 From: Davanum Srinivas Date: Mon, 28 Mar 2016 06:38:11 -0400 Subject: Fix Break in Windows platforms In Ibf6139ac2c22d9eeda7030fb87b7f1139d92332e, we added a TCP timeout that does not work on Windows (with python 2.7.9) Closes-Bug: #1562706 Change-Id: I2819225c2d3d3b418c977c03868db8d0c8022d5a (cherry picked from commit b60af2315b1cc55f116248a708b6ef7f88a227c6) --- oslo_messaging/_drivers/impl_rabbit.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/oslo_messaging/_drivers/impl_rabbit.py b/oslo_messaging/_drivers/impl_rabbit.py index 639ca8e..a36afc2 100644 --- a/oslo_messaging/_drivers/impl_rabbit.py +++ b/oslo_messaging/_drivers/impl_rabbit.py @@ -19,6 +19,7 @@ import os import random import socket import ssl +import sys import threading import time import uuid @@ -846,8 +847,10 @@ class Connection(object): LOG.debug('Failed to get socket attribute: %s' % str(e)) else: sock.settimeout(timeout) - sock.setsockopt(socket.IPPROTO_TCP, TCP_USER_TIMEOUT, - timeout * 1000 if timeout is not None else 0) + if sys.platform != 'win32': + sock.setsockopt(socket.IPPROTO_TCP, + TCP_USER_TIMEOUT, + timeout * 1000 if timeout is not None else 0) @contextlib.contextmanager def _transport_socket_timeout(self, timeout): -- cgit v1.2.1