diff options
author | Damien George <damien.p.george@gmail.com> | 2019-10-16 16:26:20 +1100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2019-10-31 12:54:37 +1100 |
commit | 71401d5065e20da59a1cc740d760002794b008e0 (patch) | |
tree | 1d94004ad9d9d8d9302d9916ddd4092012910625 /extmod/modlwip.c | |
parent | 9ec73aedb4fedafce93a018c26cfbc79686be34b (diff) |
extmod/modlwip: Unconditionally return POLLHUP when polling new socket.
POSIX poll should always return POLLERR and POLLHUP in revents, regardless
of whether they were requested in the input events flags.
See issues #4290 and #5172.
Diffstat (limited to 'extmod/modlwip.c')
-rw-r--r-- | extmod/modlwip.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/extmod/modlwip.c b/extmod/modlwip.c index 050937750..cd0f6946c 100644 --- a/extmod/modlwip.c +++ b/extmod/modlwip.c @@ -1468,7 +1468,7 @@ STATIC mp_uint_t lwip_socket_ioctl(mp_obj_t self_in, mp_uint_t request, uintptr_ if (socket->state == STATE_NEW) { // New sockets are not connected so set HUP - ret |= flags & MP_STREAM_POLL_HUP; + ret |= MP_STREAM_POLL_HUP; } else if (socket->state == STATE_PEER_CLOSED) { // Peer-closed socket is both readable and writable: read will // return EOF, write - error. Without this poll will hang on a |