]> arthur.barton.de Git - netdata.git/commitdiff
timeout is essential when connecting to socket
authorpaulfantom <paulfantom@gmail.com>
Wed, 13 Jul 2016 17:07:44 +0000 (19:07 +0200)
committerpaulfantom <paulfantom@gmail.com>
Wed, 13 Jul 2016 17:07:44 +0000 (19:07 +0200)
plugins.d/python.d.plugin
python.d/python_modules/base.py

index 6d34f73ffcb0ce84fa823ec0254ec3b76d0e31fa..f5738e6e3257e09b694f2ea1205d3c5b6a0e1ea9 100755 (executable)
@@ -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():
index 26e825c3d4da57c9ddcf7bf55afe736a6afe7542..22876c29cd42699919bf643cb3904151bdb66473 100644 (file)
@@ -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):
         """