From: paulfantom Date: Wed, 13 Jul 2016 17:07:44 +0000 (+0200) Subject: timeout is essential when connecting to socket X-Git-Tag: v1.3.0~70^2~10 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fd83cbe8701e728bcbc7bd7d5c271d80ac167f5f;p=netdata.git timeout is essential when connecting to socket --- diff --git a/plugins.d/python.d.plugin b/plugins.d/python.d.plugin index 6d34f73f..f5738e6e 100755 --- a/plugins.d/python.d.plugin +++ b/plugins.d/python.d.plugin @@ -319,7 +319,6 @@ class PythonCharts(object): i = 0 overridden = [] while i < len(self.jobs): - msg.error(*overridden) job = self.jobs[i] try: if not job.check(): diff --git a/python.d/python_modules/base.py b/python.d/python_modules/base.py index 26e825c3..22876c29 100644 --- a/python.d/python_modules/base.py +++ b/python.d/python_modules/base.py @@ -486,11 +486,11 @@ class SocketService(SimpleService): if self.unix_socket is None: sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - #sock.settimeout(self.update_every) + sock.settimeout(self.update_every) sock.connect((self.host, self.port)) else: sock = socket.socket(socket.AF_UNIX, socket.SOCK_DGRAM) - #sock.settimeout(self.update_every) + sock.settimeout(self.update_every) sock.connect(self.unix_socket) except Exception as e: @@ -510,23 +510,24 @@ class SocketService(SimpleService): self.sock = None return None - data = sock.recv(2) + #data = sock.recv(2) + data = "" try: while True: - try: - buf = sock.recv(1024, 0x40) # get 1024 bytes in NON-BLOCKING mode - except socket.error: - break + #try: + buf = sock.recv(1024, 0x40) # get 1024 bytes in NON-BLOCKING mode + #except socket.error: + # break if len(buf) == 0: break else: - data += buf + data += buf.decode() except: sock.close() return None - return data.decode() + return data def _parse_config(self): """