@cryptotaxi247 / netdata-1 / commits / d0a4feb83

simplified socket data reception

Costa Tsaousis (ktsaou) committed Nov 11, 2016 at 20:54 UTC d0a4feb834d0a8c29e5ff09f9d3f653abda0f7aa
1 file changed +9 -15
python.d/python_modules/base.py
+9 -15
@@ -644,29 +644,23 @@ class SocketService(SimpleService):
644 """
645 data = ""
646 while True:
647 + self.debug("receiving response")
648 try:
648 - self.debug("waiting response")
649 - ready_to_read, _, in_error = select.select([self._sock], [], [], 5)
649 + buf = self._sock.recv(4096)
650 except Exception as e:
651 - self._socketerror("timeout while waiting for response:" + str(e))
651 + self._socketerror("failed to receive response:" + str(e))
652 self._disconnect()
653 break
654
655 - if len(ready_to_read) > 0:
656 - self.debug("receiving response")
657 - buf = self._sock.recv(4096)
658 - if buf is None or len(buf) == 0: # handle server disconnect
659 - self.debug("server closed the connection")
660 - self._disconnect()
661 - break
662 - data += buf.decode(errors='ignore')
663 - if self._check_raw_data(data):
664 - break
665 - else:
666 - self._socketerror("timeout")
655 + if buf is None or len(buf) == 0: # handle server disconnect
656 + self.debug("server closed the connection")
657 self._disconnect()
658 break
659
660 + data += buf.decode(errors='ignore')
661 + if self._check_raw_data(data):
662 + break
663 +
664 return data
665
666 def _get_raw_data(self):