diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-06-04 12:30:41 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-06-04 12:30:41 +0300 |
commit | 5da8de2b66d3f43107e1e745afa9bb6a4bf601eb (patch) | |
tree | d981fc5239deb6e6fe841d9add2c69530b5b0299 /extmod/modlwip.c | |
parent | a0dbbbebb8c0286e00ae06751b0173cbca4ec801 (diff) | |
download | micropython-5da8de2b66d3f43107e1e745afa9bb6a4bf601eb.tar.gz micropython-5da8de2b66d3f43107e1e745afa9bb6a4bf601eb.zip |
extmod/modlwip: Fix error codes for duplicate calls to connect().
If socket is already connected, POSIX requires returning EISCONN. If
connection was requested, but not yet complete (for non-blocking
socket), error code is EALREADY.
http://pubs.opengroup.org/onlinepubs/7908799/xns/connect.html
Diffstat (limited to 'extmod/modlwip.c')
-rw-r--r-- | extmod/modlwip.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/extmod/modlwip.c b/extmod/modlwip.c index aa93eaa276..d243985ad0 100644 --- a/extmod/modlwip.c +++ b/extmod/modlwip.c @@ -800,9 +800,9 @@ STATIC mp_obj_t lwip_socket_connect(mp_obj_t self_in, mp_obj_t addr_in) { case MOD_NETWORK_SOCK_STREAM: { if (socket->state != STATE_NEW) { if (socket->state == STATE_CONNECTED) { - mp_raise_OSError(MP_EALREADY); + mp_raise_OSError(MP_EISCONN); } else { - mp_raise_OSError(MP_EINPROGRESS); + mp_raise_OSError(MP_EALREADY); } } // Register our receive callback. |