Skip to content

Commit a5b22a5

Browse files
authored
Merge pull request #2043 from HubertXie/master
Update at_socket.c
2 parents c059503 + 3a8c6f3 commit a5b22a5

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

components/net/at/at_socket/at_socket.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -627,6 +627,15 @@ int at_recvfrom(int socket, void *mem, size_t len, int flags, struct sockaddr *f
627627
at_dev_ops->at_set_event_cb(AT_SOCKET_EVT_CLOSED, at_closed_notice_cb);
628628
}
629629

630+
/* receive packet list last transmission of remaining data */
631+
rt_mutex_take(sock->recv_lock, RT_WAITING_FOREVER);
632+
if((recv_len = at_recvpkt_get(&(sock->recvpkt_list), (char *)mem, len)) > 0)
633+
{
634+
rt_mutex_release(sock->recv_lock);
635+
goto __exit;
636+
}
637+
rt_mutex_release(sock->recv_lock);
638+
630639
/* socket passively closed, receive function return 0 */
631640
if (sock->state == AT_SOCKET_CLOSED)
632641
{
@@ -640,15 +649,6 @@ int at_recvfrom(int socket, void *mem, size_t len, int flags, struct sockaddr *f
640649
goto __exit;
641650
}
642651

643-
/* receive packet list last transmission of remaining data */
644-
rt_mutex_take(sock->recv_lock, RT_WAITING_FOREVER);
645-
if((recv_len = at_recvpkt_get(&(sock->recvpkt_list), (char *)mem, len)) > 0)
646-
{
647-
rt_mutex_release(sock->recv_lock);
648-
goto __exit;
649-
}
650-
rt_mutex_release(sock->recv_lock);
651-
652652
/* non-blocking sockets receive data */
653653
if (flags & MSG_DONTWAIT)
654654
{

0 commit comments

Comments
 (0)