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-apps.git
commit 26892be8946ef3ed54c46839e1badb130710dd17 Author: zhanghongyu <zhanghon...@xiaomi.com> AuthorDate: Thu Apr 7 19:33:38 2022 +0800 usrsock: fix usrsock close hang when net not ready reason: ept NULL when close request and poll event occur simultaneously Signed-off-by: zhanghongyu <zhanghon...@xiaomi.com> --- netutils/usrsock_rpmsg/usrsock_rpmsg_server.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netutils/usrsock_rpmsg/usrsock_rpmsg_server.c b/netutils/usrsock_rpmsg/usrsock_rpmsg_server.c index d6004f466..0cb96590f 100644 --- a/netutils/usrsock_rpmsg/usrsock_rpmsg_server.c +++ b/netutils/usrsock_rpmsg/usrsock_rpmsg_server.c @@ -284,12 +284,12 @@ static int usrsock_rpmsg_close_handler(struct rpmsg_endpoint *ept, if (req->usockid >= 0 && req->usockid < CONFIG_NETUTILS_USRSOCK_NSOCK_DESCRIPTORS) { + pthread_mutex_lock(&priv->mutex); priv->pfds[req->usockid].ptr = NULL; priv->epts[req->usockid] = NULL; /* Signal and wait the poll thread to wakeup */ - pthread_mutex_lock(&priv->mutex); usrsock_rpmsg_notify_poll(priv); pthread_cond_wait(&priv->cond, &priv->mutex); pthread_mutex_unlock(&priv->mutex);