diff --git a/pymodbus/client/serial.py b/pymodbus/client/serial.py index 69c800380..4fc102615 100644 --- a/pymodbus/client/serial.py +++ b/pymodbus/client/serial.py @@ -336,8 +336,8 @@ def recv(self, size): ) if size is None: size = self._wait_for_data() - elif size > self._in_waiting(): - self._wait_for_data() + if size > self._in_waiting(): + size = self._wait_for_data() result = self.socket.read(size) return result diff --git a/test/test_client_sync.py b/test/test_client_sync.py index 3c6845212..476075f36 100755 --- a/test/test_client_sync.py +++ b/test/test_client_sync.py @@ -388,7 +388,7 @@ def test_basic_sync_serial_client(self, mock_serial): self.assertEqual(0, client.send(None)) client.state = 0 self.assertEqual(1, client.send(b"\x00")) - self.assertEqual(b"\x00", client.recv(1)) + self.assertEqual(b"", client.recv(1)) # connect/disconnect self.assertTrue(client.connect())