summaryrefslogtreecommitdiffstatshomepage
path: root/extmod/modlwip.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-06-04 12:30:41 +0300
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2017-06-04 12:30:41 +0300
commit5da8de2b66d3f43107e1e745afa9bb6a4bf601eb (patch)
treed981fc5239deb6e6fe841d9add2c69530b5b0299 /extmod/modlwip.c
parenta0dbbbebb8c0286e00ae06751b0173cbca4ec801 (diff)
downloadmicropython-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.c4
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.