[Bugfix]API-81 API-82
Change-Id: I1a0a9bfa100c256d0353be8e580043f30dbce05d
diff --git a/src/lynq/lib/liblynq-network/lynq_network.cpp b/src/lynq/lib/liblynq-network/lynq_network.cpp
index a3e82aa..e6aaba8 100755
--- a/src/lynq/lib/liblynq-network/lynq_network.cpp
+++ b/src/lynq/lib/liblynq-network/lynq_network.cpp
@@ -56,7 +56,12 @@
int network_urc_status = 1;
int network_wait_urc_id = 0;
signalStrength_t network_urc_solSigStren;
-
+/**g_lynq_network_init_flag
+* @brief mark network initialization state
+* 0:deinit status
+* 1:init state
+*/
+static int g_lynq_network_init_flag = 0;
static pthread_mutex_t signal_state_change_mutex = PTHREAD_MUTEX_INITIALIZER;
static pthread_cond_t signal_state_change_cond = PTHREAD_COND_INITIALIZER;
@@ -278,6 +283,12 @@
}
int lynq_network_init(int utoken){
+ if(g_lynq_network_init_flag == 1)
+ {
+ LYERRLOG("init twice is not allowed");
+ return -1;
+ }
+ g_lynq_network_init_flag = 1;
if(utoken <0){
LYERRLOG("init err");
return -1;
@@ -420,7 +431,16 @@
}
int lynq_network_deinit(void){
- close(network_sock_fd);
+ if (g_lynq_network_init_flag == 0)
+ {
+ LYERRLOG("deinit twice is not allowed");
+ return -1;
+ }
+ if (network_sock_fd > 0)
+ {
+ close(network_sock_fd);
+ }
+ g_lynq_network_init_flag = 0;
network_urc_status = 0;
return 0;
}