[Bugfix][T106BUG-660]Fixed the problem that the callback function was not called after using the qser_data_call_start_async
Only Configure: No
Affected branch: master
Affected module: data
Is it affected on both ZXIC and MTK: only ZXIC
Self-test: Yes
Doc Update: No
Change-Id: Ie4cc993d274714e7c0a48c31edd927f8fae7a2be
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
index fc6c6a8..7b29791 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-data/lynq_data.cpp
@@ -730,7 +730,7 @@
break;
}
}
- if(j == num)
+ if(j == num && lynq_apn_table[i].cid != 0)
{
LYINFLOG("need delete lynq_apn_table[%d]\n", i);
bzero(lynq_apn_table[i].apnType,LYNQ_APN_TYPE_MAX_LEN);//async clean
@@ -1219,11 +1219,17 @@
char *tmp_msg = NULL;
int len = 0;
+ int unlock_flag = 0;
LYINFLOG("[data_thread_rc_recv]: in thread_rc_recv");
while(module_rc_status)
{
pthread_mutex_lock(&s_lynq_rc_vector_mutex);
+ if(unlock_flag == 1)
+ {
+ pthread_mutex_unlock(&g_lynq_data_sendto_mutex);
+ }
+ unlock_flag=1;
pthread_cond_wait(&s_lynq_rc_vector_cond,&s_lynq_rc_vector_mutex);
pthread_mutex_unlock(&s_lynq_rc_vector_mutex);
LYINFLOG("[data_thread_rc_recv]: pthread_mutex_unlock");
@@ -1255,7 +1261,7 @@
}
continue;
}
- pthread_mutex_unlock(&g_lynq_data_sendto_mutex);
+
bzero(type,LYNQ_TYPE_MAX_LEN);
bzero(ifaceName,LYNQ_IFACE_NAME_MAX_LEN);