summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-14 00:58:51 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2016-04-14 00:59:09 +0300
commitfef0d9818a52c2e8331590a18a49cdd3fa64ae81 (patch)
tree7857f409bdd8788472a55e7674f6ba90fcfc7076
parentf30b6f0af56c4358909f2a9b9d696a8f4f920f81 (diff)
extmod/modlwip: lwip_tcp_receive(): Properly handle EOF for non-blocking sock.
-rw-r--r--extmod/modlwip.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/extmod/modlwip.c b/extmod/modlwip.c
index 1ebcd8923..441fd8cec 100644
--- a/extmod/modlwip.c
+++ b/extmod/modlwip.c
@@ -451,6 +451,9 @@ STATIC mp_uint_t lwip_tcp_receive(lwip_socket_obj_t *socket, byte *buf, mp_uint_
// Non-blocking socket
if (socket->timeout == 0) {
+ if (socket->state == STATE_PEER_CLOSED) {
+ return 0;
+ }
*_errno = EAGAIN;
return -1;
}