From b47ed70fd49c651e1d3cdf1957471344e590bbf8 Mon Sep 17 00:00:00 2001 From: Dan Halbert Date: Sun, 5 Jan 2025 15:14:26 -0500 Subject: [PATCH] Handle ESP32SPI Socket.send(), which does not return a byte count --- adafruit_minimqtt/adafruit_minimqtt.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/adafruit_minimqtt/adafruit_minimqtt.py b/adafruit_minimqtt/adafruit_minimqtt.py index 63cb6c82..954d894e 100644 --- a/adafruit_minimqtt/adafruit_minimqtt.py +++ b/adafruit_minimqtt/adafruit_minimqtt.py @@ -473,7 +473,11 @@ def _send_bytes( view = memoryview(buffer) while bytes_sent < bytes_to_send: try: - bytes_sent += self._sock.send(view[bytes_sent:]) + sent_now = self._sock.send(view[bytes_sent:]) + # Some versions of `Socket.send()` do not return the number of bytes sent. + if not isinstance(sent_now, int): + return + bytes_sent += sent_now except OSError as exc: if exc.errno == errno.EAGAIN: continue