summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorHubretXie <[email protected]>2018-12-07 19:05:24 +0800
committerGitHub <[email protected]>2018-12-07 19:05:24 +0800
commit7ac5bd992fe4a07342ca720baff27c53aa30cdff (patch)
tree5c14920469ae5496924aebe8487085b3a8caabc7 /components
parentcd0521d7d2a0217e5a3a89d3b85b59a46595bd6f (diff)
Update at_socket.c
Diffstat (limited to 'components')
-rw-r--r--components/net/at/at_socket/at_socket.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/components/net/at/at_socket/at_socket.c b/components/net/at/at_socket/at_socket.c
index 84325c1501..80b86f8198 100644
--- a/components/net/at/at_socket/at_socket.c
+++ b/components/net/at/at_socket/at_socket.c
@@ -715,7 +715,19 @@ __exit:
}
else
{
- at_do_event_changes(sock, AT_EVENT_ERROR, RT_TRUE);
+ /* try to read Legacy data */
+ /* receive packet list last transmission of remaining data */
+ rt_mutex_take(sock->recv_lock, RT_WAITING_FOREVER);
+ recv_len = at_recvpkt_get(&(sock->recvpkt_list), (char *)mem, len);
+ rt_mutex_release(sock->recv_lock);
+ if(recv_len<=0)
+ {
+ at_do_event_changes(sock, AT_EVENT_ERROR, RT_TRUE);
+ }
+ else
+ {
+ result = recv_len;
+ }
}
return result;