You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ma...@apache.org on 2022/10/14 03:29:28 UTC
[incubator-nuttx] 01/03: usrsock: update state to connected when recv sento ready under connecting
This is an automated email from the ASF dual-hosted git repository.
masayuki pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit be06d00f85ce4c9d954eae8c82a71eddb4d7561c
Author: zhanghongyu <zh...@xiaomi.com>
AuthorDate: Wed Oct 12 18:11:18 2022 +0800
usrsock: update state to connected when recv sento ready under connecting
Signed-off-by: zhanghongyu <zh...@xiaomi.com>
---
net/usrsock/usrsock_devif.c | 13 +++++++++++++
net/usrsock/usrsock_event.c | 5 +++--
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/net/usrsock/usrsock_devif.c b/net/usrsock/usrsock_devif.c
index 78f1579850..c71eb6a76b 100644
--- a/net/usrsock/usrsock_devif.c
+++ b/net/usrsock/usrsock_devif.c
@@ -262,6 +262,12 @@ static ssize_t usrsock_handle_response(FAR struct usrsock_conn_s *conn,
*/
conn->resp.inprogress = true;
+
+ /* This branch indicates successful processing and waiting
+ * for USRSOCK_EVENT_CONNECT_READY event.
+ */
+
+ conn->resp.result = 0;
}
else
{
@@ -313,6 +319,13 @@ usrsock_handle_datareq_response(FAR struct usrsock_conn_s *conn,
*/
conn->resp.inprogress = true;
+
+ /* This branch indicates successful processing and waiting
+ * for USRSOCK_EVENT_CONNECT_READY event.
+ */
+
+ conn->resp.result = 0;
+
return sizeof(*datahdr);
}
diff --git a/net/usrsock/usrsock_event.c b/net/usrsock/usrsock_event.c
index ef6c30534f..f365e16f45 100644
--- a/net/usrsock/usrsock_event.c
+++ b/net/usrsock/usrsock_event.c
@@ -67,9 +67,10 @@ int usrsock_event(FAR struct usrsock_conn_s *conn)
/* Generic state updates. */
- if (events & USRSOCK_EVENT_REQ_COMPLETE)
+ if (conn->state == USRSOCK_CONN_STATE_CONNECTING)
{
- if (conn->state == USRSOCK_CONN_STATE_CONNECTING)
+ if ((events & USRSOCK_EVENT_REQ_COMPLETE) ||
+ (events & USRSOCK_EVENT_SENDTO_READY))
{
conn->state = USRSOCK_CONN_STATE_READY;
events |= USRSOCK_EVENT_CONNECT_READY;