[Bugfix][API-845][Data]Fix handle's value is invaild
Change-Id: Ie6af38854a3cb4014b4d405902b39996ebe46267
diff --git a/lib/liblynq-data/lynq_data.cpp b/lib/liblynq-data/lynq_data.cpp
index fbd120d..710a16e 100755
--- a/lib/liblynq-data/lynq_data.cpp
+++ b/lib/liblynq-data/lynq_data.cpp
@@ -398,7 +398,7 @@
if(lynq_apn_table[apnId].hasTimeout==1)
{
LYERRLOG("apn:%s has time out,deacive this apn",lynq_apn_table[apnId].apn);
- if (NULL != lynq_apn_table[apnId].apn && NULL != NULL != lynq_apn_table[apnId].apnType)
+ if (NULL != lynq_apn_table[apnId].apn && NULL != lynq_apn_table[apnId].apnType && strlen(lynq_apn_table[apnId].apn)>0)
{
LYERRLOG("deactive this time out APN");
lynq_deactive_data_call(&apnId);
@@ -443,10 +443,10 @@
{
lynq_data_call_change_id = apnId;
bzero(lynq_apn_table[apnId].apnType,LYNQ_APN_TYPE_MAX_LEN);//async clean
+ pthread_mutex_lock(&s_lynq_urc_vector_mutex);
+ s_data_urc_wait_list.push_back(apnId);
+ pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
}
- pthread_mutex_lock(&s_lynq_urc_vector_mutex);
- s_data_urc_wait_list.push_back(apnId);
- pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
//sendSignalPdnChange();
LYDBGLOG("data call state:%d",lynq_data_call);
if(lynq_data_call==1)
@@ -918,6 +918,11 @@
LYERRLOG("handle is NULL");
return LYNQ_E_NULL_ANONALY;
}
+ if (*handle<0 && handle>8)
+ {
+ LYERRLOG("handle value error");
+ }
+ LYINFLOG("incoming handle value: %d",*handle);
memset(interDataCallList,0,sizeof(interDataCallList));
error = getDataCallLists(interDataCallList,&number);
if(error == 0)
@@ -951,11 +956,12 @@
pthread_mutex_lock(&s_lynq_urc_vector_mutex);
iter = s_data_urc_wait_list.begin();
- handle = (*iter);
+ *handle = s_data_urc_wait_list.front();
+
s_data_urc_wait_list.erase(iter);
pthread_mutex_unlock(&s_lynq_urc_vector_mutex);
- LYINFLOG("lynq data call id:%d",lynq_data_call_change_id);
+ LYINFLOG("lynq data call id:%d",*handle);
return 0;
}
/*Warren add for T800 platform 2021/11/19 end*/