[fix]
1.fix bug API-43
2.fix bug API-4

Change-Id: I18563495ddca219ffb6a35b840c73cd8d1fe9715
diff --git a/lib/liblynq-call/lynq_call.cpp b/lib/liblynq-call/lynq_call.cpp
index 2af714d..5443df3 100755
--- a/lib/liblynq-call/lynq_call.cpp
+++ b/lib/liblynq-call/lynq_call.cpp
@@ -63,6 +63,9 @@
 static pthread_cond_t s_urc_call_state_change_cond = PTHREAD_COND_INITIALIZER;

 static pthread_mutex_t s_incoming_call_mutex = PTHREAD_MUTEX_INITIALIZER;

 static pthread_cond_t s_incoming_call_cond = PTHREAD_COND_INITIALIZER;

+pthread_t lynq_call_urc_tid;

+pthread_t lynq_call_list_loop_tid;

+

 

 

 int s_call_urc_event_complete = 1;

@@ -187,8 +190,11 @@
         if(call_num<=0)

         {

             lynq_call_state = CALL_OFF;

+            LYINFLOG("lynq_call_state:%d",lynq_call_state);

             return 0;

         }

+        lynq_call_state = CALL_ON;

+        LYINFLOG("lynq_call_state:%d",lynq_call_state);

         for(int i = 0;i < call_num;i++)

         {

             p.readInt32(&temp);

@@ -426,11 +432,10 @@
 int lynq_update_call_list_loop()

 {

     int ret = 0;

-    pthread_t tid;

     pthread_attr_t attr;

     pthread_attr_init(&attr);

     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);

-    ret = pthread_create(&tid,&attr,triggerGetCallList,NULL);

+    ret = pthread_create(&lynq_call_list_loop_tid,&attr,triggerGetCallList,NULL);

     if(ret < 0)

     {

         LYERRLOG("lynq_update_call_list_loop fail!!!");

@@ -516,7 +521,6 @@
     int len=0;

     int on=1;

     struct sockaddr_in urc_local_addr;

-    pthread_t tid;

     pthread_attr_t attr;

     socket_fd = socket(AF_INET,SOCK_DGRAM,0);

     if(socket_fd < 0)

@@ -544,7 +548,7 @@
     }

     pthread_attr_init(&attr);

     pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);

-    rt = pthread_create(&tid,&attr,thread_urc_recv,(void *)socket_fd);

+    rt = pthread_create(&lynq_call_urc_tid,&attr,thread_urc_recv,(void *)socket_fd);

     if(rt < 0)

     {

         LYERRLOG("urc loop failure!!!\n");

@@ -601,9 +605,21 @@
 }

 int lynq_deinit_call()

 {

-    close(lynq_call_client_sockfd);

+    int ret = -1;

+    if(lynq_call_client_sockfd>0)

+    {

+        close(lynq_call_client_sockfd);

+    }

     urc_call_recive_status = 0;

     call_list_loop = 0;

+    ret = pthread_cancel(lynq_call_urc_tid);

+    LYDBGLOG("pthread cancel ret = %d",ret);

+    ret = pthread_cancel(lynq_call_list_loop_tid);

+    LYDBGLOG("pthread cancel ret = %d",ret);

+    ret = pthread_join(lynq_call_urc_tid,NULL);

+    LYDBGLOG("pthread join ret = %d",ret);

+    ret = pthread_join(lynq_call_list_loop_tid,NULL);

+    LYDBGLOG("pthread join ret = %d",ret);

     return 0;

 }

 int lynq_call(int* handle,char addr[])