From feaa2516742ed4f9032a0233dcec922ac6a4e80c Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 16 Oct 2019 17:24:40 +1100 Subject: extmod/modlwip: Make socket poll return POLLNVAL in case of bad file. --- extmod/modlwip.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'extmod') diff --git a/extmod/modlwip.c b/extmod/modlwip.c index cd0f6946c..1e9b8c459 100644 --- a/extmod/modlwip.c +++ b/extmod/modlwip.c @@ -1477,6 +1477,8 @@ STATIC mp_uint_t lwip_socket_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_ } else if (socket->state == ERR_RST) { // Socket was reset by peer, a write will return an error ret |= flags & (MP_STREAM_POLL_WR | MP_STREAM_POLL_HUP); + } else if (socket->state == _ERR_BADF) { + ret |= MP_STREAM_POLL_NVAL; } else if (socket->state < 0) { // Socket in some other error state, use catch-all ERR flag // TODO: may need to set other return flags here -- cgit v1.2.3