Bläddra i källkod

fix at_client, avoid creating the same client repeatedly and prevent working exceptions and memory leaks.

qiyongzhong0 4 år sedan
förälder
incheckning
db0880bd26
1 ändrade filer med 5 tillägg och 0 borttagningar
  1. 5 0
      components/net/at/src/at_client.c

+ 5 - 0
components/net/at/src/at_client.c

@@ -917,6 +917,11 @@ int at_client_init(const char *dev_name,  rt_size_t recv_bufsz)
     RT_ASSERT(dev_name);
     RT_ASSERT(recv_bufsz > 0);
 
+    if (at_client_get(dev_name) != RT_NULL)
+    {
+        return result;
+    }
+
     for (idx = 0; idx < AT_CLIENT_NUM_MAX && at_client_table[idx].device; idx++);
 
     if (idx >= AT_CLIENT_NUM_MAX)