Răsfoiți Sursa

Update at_socket.c

HubretXie 6 ani în urmă
părinte
comite
7ac5bd992f
1 a modificat fișierele cu 13 adăugiri și 1 ștergeri
  1. 13 1
      components/net/at/at_socket/at_socket.c

+ 13 - 1
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;