]> arthur.barton.de Git - netdata.git/commitdiff
simplified socket data reception
authorCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Fri, 11 Nov 2016 18:54:05 +0000 (20:54 +0200)
committerCosta Tsaousis (ktsaou) <costa@tsaousis.gr>
Fri, 11 Nov 2016 18:54:05 +0000 (20:54 +0200)
python.d/python_modules/base.py

index 04f660d5005ebc1577ec2cea27ebcad7c4a7fe0c..10ad7c93e6c43b9732574a3a707c70a6a99323cc 100644 (file)
@@ -644,29 +644,23 @@ class SocketService(SimpleService):
         """
         data = ""
         while True:
+            self.debug("receiving response")
             try:
-                self.debug("waiting response")
-                ready_to_read, _, in_error = select.select([self._sock], [], [], 5)
+                buf = self._sock.recv(4096)
             except Exception as e:
-                self._socketerror("timeout while waiting for response:" + str(e))
+                self._socketerror("failed to receive response:" + str(e))
                 self._disconnect()
                 break
 
-            if len(ready_to_read) > 0:
-                self.debug("receiving response")
-                buf = self._sock.recv(4096)
-                if buf is None or len(buf) == 0:  # handle server disconnect
-                    self.debug("server closed the connection")
-                    self._disconnect()
-                    break
-                data += buf.decode(errors='ignore')
-                if self._check_raw_data(data):
-                    break
-            else:
-                self._socketerror("timeout")
+            if buf is None or len(buf) == 0:  # handle server disconnect
+                self.debug("server closed the connection")
                 self._disconnect()
                 break
 
+            data += buf.decode(errors='ignore')
+            if self._check_raw_data(data):
+                break
+
         return data
 
     def _get_raw_data(self):