aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George2020-03-23 23:52:33 +1100
committerDamien George2020-03-25 01:17:12 +1100
commitbf4fb162500fd92937f81d028d7604b3fcaac750 (patch)
tree440446b379cbe48dff4b295955d3a57c8a87a90a
parentfbfea3b44007a2186468a57b0a27062d1060085d (diff)
esp32/modsocket: Handle poll of a closed socket.
This gets tests/extmod/uselect_poll_basic.py working on the esp32.
-rw-r--r--ports/esp32/modsocket.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ports/esp32/modsocket.c b/ports/esp32/modsocket.c
index 1252a18c5..dcb979b9c 100644
--- a/ports/esp32/modsocket.c
+++ b/ports/esp32/modsocket.c
@@ -676,6 +676,9 @@ STATIC mp_uint_t socket_stream_write(mp_obj_t self_in, const void *buf, mp_uint_
STATIC mp_uint_t socket_stream_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_t arg, int *errcode) {
socket_obj_t *socket = self_in;
if (request == MP_STREAM_POLL) {
+ if (socket->fd == -1) {
+ return MP_STREAM_POLL_NVAL;
+ }
fd_set rfds;
FD_ZERO(&rfds);