From: Costa Tsaousis (ktsaou) Date: Fri, 11 Nov 2016 18:54:05 +0000 (+0200) Subject: simplified socket data reception X-Git-Tag: v1.5.0~189^2~3 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0a4feb834d0a8c29e5ff09f9d3f653abda0f7aa;p=netdata.git simplified socket data reception --- diff --git a/python.d/python_modules/base.py b/python.d/python_modules/base.py index 04f660d5..10ad7c93 100644 --- a/python.d/python_modules/base.py +++ b/python.d/python_modules/base.py @@ -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):