[Bugfix][T108][bug-view-1534]Fix the issue of multi-threaded API call errors

Only Configure: No
Affected branch: GSW_V1453
Affected module: system
Is it affected on IC: only ASR
Self-test: yes
Doc Update: no

Change-Id: I89b0fc98b13b5586e1aebd9c14ff69deaed28d04
diff --git a/mbtk/libgsw_lib/gsw_at_interface.c b/mbtk/libgsw_lib/gsw_at_interface.c
index 67a61a1..2d9cefd 100755
--- a/mbtk/libgsw_lib/gsw_at_interface.c
+++ b/mbtk/libgsw_lib/gsw_at_interface.c
@@ -121,7 +121,7 @@
 }LYNQ_AT_E;

 

 static mbtk_log fun_ptr_log = NULL;

-void *dlHandle_at = NULL;

+static void *dlHandle_at = NULL;

 char *lynqLib_at = "/lib/libmbtk_lib.so";

 char *output = NULL;

 int sockfd = 0;

@@ -315,12 +315,7 @@
     {

         return GSW_HAL_NORMAL_FAIL;

     }

-    dlHandle_at = dlopen(lynqLib_at, RTLD_NOW);

-    fun_ptr_log = (mbtk_log)dlsym(dlHandle_at, "mbtk_log");

-    if(fun_ptr_log == NULL || dlHandle_at == NULL)

-    {

-        return GSW_HAL_NORMAL_FAIL;

-    }

+    

     memcpy(buffer_at, atcmd, strlen(atcmd));

     tmp = func;

     LOGD("lynq_reg_third_at start\n");

@@ -337,6 +332,12 @@
 

 int32_t gsw_sdk_at_init(void)

 {

+    dlHandle_at = dlopen(lynqLib_at, RTLD_NOW);

+    fun_ptr_log = (mbtk_log)dlsym(dlHandle_at, "mbtk_log");

+    if(fun_ptr_log == NULL || dlHandle_at == NULL)

+    {

+        return GSW_HAL_NORMAL_FAIL;

+    }

     return GSW_HAL_SUCCESS;

 }