diff options
| author | Damien George | 2020-03-23 23:52:33 +1100 |
|---|---|---|
| committer | Damien George | 2020-03-25 01:17:12 +1100 |
| commit | bf4fb162500fd92937f81d028d7604b3fcaac750 (patch) | |
| tree | 440446b379cbe48dff4b295955d3a57c8a87a90a | |
| parent | fbfea3b44007a2186468a57b0a27062d1060085d (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.c | 3 |
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); |
