From dce25d802eb2581fbc837cb30b15d202b32b0996 Mon Sep 17 00:00:00 2001 From: Jarrod Johnson Date: Wed, 3 Apr 2019 08:34:42 -0400 Subject: [PATCH] Fix SLP hangs on bad targets Have SLP timeout if there are endpoints that can half-hang a connection. --- confluent_server/confluent/discovery/protocols/slp.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/confluent_server/confluent/discovery/protocols/slp.py b/confluent_server/confluent/discovery/protocols/slp.py index 77e642e1..2d5dc063 100644 --- a/confluent_server/confluent/discovery/protocols/slp.py +++ b/confluent_server/confluent/discovery/protocols/slp.py @@ -335,6 +335,7 @@ def _add_attributes(parsed): else: net = socket.socket(socket.AF_INET, socket.SOCK_STREAM) try: + net.settimeout(1.0) net.connect(target) except socket.error: return @@ -363,6 +364,7 @@ def query_srvtypes(target): while tries and not connected: tries -= 1 try: + net.settimeout(1.0) net.connect(target) connected = True except socket.error: