Merge "Revert "lshal: do not pthread_kill"" into main am: ef2e1643f5 am: 584e277bcf

Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2863707

Change-Id: I6708a56df868ef4b9b65962bf7df441b799a2ff6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/cmds/lshal/Timeout.h b/cmds/lshal/Timeout.h
index 012a5d5..e8d22d9 100644
--- a/cmds/lshal/Timeout.h
+++ b/cmds/lshal/Timeout.h
@@ -72,14 +72,10 @@
         return false;
     }
     bool success = state.wait(now + delay);
-    if (success) {
-        pthread_join(thread, nullptr);
-    } else {
-        // b/311143089: Abandon this background thread. Resources for a detached
-        // thread are cleaned up when it is terminated. If the background thread
-        // is stalled, it will be terminated when returning from main().
-        pthread_detach(thread);
+    if (!success) {
+        pthread_kill(thread, SIGINT);
     }
+    pthread_join(thread, nullptr);
     return success;
 }
 
diff --git a/cmds/lshal/main.cpp b/cmds/lshal/main.cpp
index a44f467..366c938 100644
--- a/cmds/lshal/main.cpp
+++ b/cmds/lshal/main.cpp
@@ -18,6 +18,5 @@
 
 int main(int argc, char **argv) {
     using namespace ::android::lshal;
-    // Background pthreads from timeout() are destroyed upon returning from main().
     return Lshal{}.main(Arg{argc, argv});
 }