You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by pk...@apache.org on 2022/07/23 05:16:56 UTC
[incubator-nuttx] 03/05: socket_rpmsg: set poll err instead return err
This is an automated email from the ASF dual-hosted git repository.
pkarashchenko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit ba990619ed11625286e174f16df96eafc608a1d3
Author: ligd <li...@xiaomi.com>
AuthorDate: Wed Jul 6 22:19:35 2022 +0800
socket_rpmsg: set poll err instead return err
Signed-off-by: ligd <li...@xiaomi.com>
---
net/rpmsg/rpmsg_sockif.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/net/rpmsg/rpmsg_sockif.c b/net/rpmsg/rpmsg_sockif.c
index 9130fe600c..096e6072b9 100644
--- a/net/rpmsg/rpmsg_sockif.c
+++ b/net/rpmsg/rpmsg_sockif.c
@@ -862,27 +862,28 @@ static int rpmsg_socket_poll(FAR struct socket *psock,
{
if (!conn->ept.rdev)
{
- ret = -ECONNRESET;
- goto errout;
+ eventset |= POLLHUP;
}
+ else
+ {
+ rpmsg_socket_lock(&conn->sendlock);
- rpmsg_socket_lock(&conn->sendlock);
+ if (rpmsg_socket_get_space(conn) > 0)
+ {
+ eventset |= (fds->events & POLLOUT);
+ }
- if (rpmsg_socket_get_space(conn) > 0)
- {
- eventset |= (fds->events & POLLOUT);
- }
+ rpmsg_socket_unlock(&conn->sendlock);
- rpmsg_socket_unlock(&conn->sendlock);
+ rpmsg_socket_lock(&conn->recvlock);
- rpmsg_socket_lock(&conn->recvlock);
+ if (!circbuf_is_empty(&conn->recvbuf))
+ {
+ eventset |= (fds->events & POLLIN);
+ }
- if (!circbuf_is_empty(&conn->recvbuf))
- {
- eventset |= (fds->events & POLLIN);
+ rpmsg_socket_unlock(&conn->recvlock);
}
-
- rpmsg_socket_unlock(&conn->recvlock);
}
else if (!_SS_ISCONNECTED(conn->sconn.s_flags) &&
_SS_ISNONBLOCK(conn->sconn.s_flags))
@@ -891,8 +892,7 @@ static int rpmsg_socket_poll(FAR struct socket *psock,
}
else
{
- ret = -EPERM;
- goto errout;
+ eventset |= POLLERR;
}
if (eventset)