OSDN Git Service

Fix issue of HDP select thread not exiting during BT OFF
authorGanesh Ganapathi Batta <ganeshg@broadcom.com>
Mon, 28 Apr 2014 23:25:52 +0000 (16:25 -0700)
committerMatthew Xie <mattx@google.com>
Tue, 6 May 2014 08:14:24 +0000 (01:14 -0700)
Change-Id: I52a0a3caff327a7a51e293c431ddbc99db690180

btif/src/btif_hl.c

index e80a0b9..cdf13b6 100644 (file)
@@ -5056,10 +5056,14 @@ static inline int btif_hl_close_select_thread(void)
     char sig_on = btif_hl_signal_select_exit;
     BTIF_TRACE_DEBUG0("btif_hl_signal_select_exit");
     result = send(signal_fds[1], &sig_on, sizeof(sig_on), 0);
-    /* Wait for the select_thread_id to exit */
-    if (select_thread_id != -1) {
-        pthread_join(select_thread_id, NULL);
-        select_thread_id = -1;
+    if (btif_is_enabled())
+    {
+        /* Wait for the select_thread_id to exit if BT is still enabled
+        and only this profile getting  cleaned up*/
+        if (select_thread_id != -1) {
+            pthread_join(select_thread_id, NULL);
+            select_thread_id = -1;
+        }
     }
    /* Cleanup signal sockets */
     if(signal_fds[0] != -1)