You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/05/14 13:53:26 UTC
[incubator-nuttx] 01/02: net/sockopt: do not set the errno to
SO_ERROR
This is an automated email from the ASF dual-hosted git repository.
gnutt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit 608436a75f167d09d3c9cca4dd9b80f1e284a6f7
Author: chao.an <an...@xiaomi.com>
AuthorDate: Wed May 13 12:08:32 2020 +0800
net/sockopt: do not set the errno to SO_ERROR
SO_ERROR is used to report asynchronous errors that are the result
of events within the network stack and not synchronous errors that
are the result of a library call(send/recv/connect)
Synchronous results are reported via errno.
Linux Programmer's Manual
...
NAME
getsockopt, setsockopt - get and set options on sockets
...
RETURN VALUE
...
On error, -1 is returned, and errno is set appropriately
Change-Id: I1a1a05a684dff8672aaf47eabee157ac0d275c2d
Signed-off-by: chao.an <an...@xiaomi.com>
---
net/socket/getsockopt.c | 2 +-
net/socket/setsockopt.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/net/socket/getsockopt.c b/net/socket/getsockopt.c
index 2bc1c73..45cf495 100644
--- a/net/socket/getsockopt.c
+++ b/net/socket/getsockopt.c
@@ -445,7 +445,7 @@ int getsockopt(int sockfd, int level, int option, void *value, socklen_t *value_
ret = psock_getsockopt(psock, level, option, value, value_len);
if (ret < 0)
{
- _SO_SETERRNO(psock, -ret);
+ set_errno(-ret);
return ERROR;
}
diff --git a/net/socket/setsockopt.c b/net/socket/setsockopt.c
index e968467..468d06c 100644
--- a/net/socket/setsockopt.c
+++ b/net/socket/setsockopt.c
@@ -470,7 +470,7 @@ int setsockopt(int sockfd, int level, int option, const void *value,
ret = psock_setsockopt(psock, level, option, value, value_len);
if (ret < 0)
{
- _SO_SETERRNO(psock, -ret);
+ set_errno(-ret);
return ERROR;
}