diff options
author | Yifan Hong <elsk@google.com> | 2023-12-06 23:00:23 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2023-12-06 23:00:23 +0000 |
commit | 4a9ad85bce956565939b16d2ad3c1d244fd8ec2f (patch) | |
tree | b3ad63d33c5c10496a7ddc415f1f8e211c41987e | |
parent | f2daedf53d98c013d80776e05694f13a4127984f (diff) | |
download | native-4a9ad85bce956565939b16d2ad3c1d244fd8ec2f.tar.gz |
Revert "lshal: do not pthread_kill"
This reverts commit f2daedf53d98c013d80776e05694f13a4127984f.
Reason for revert: breaks wear devices
Bug: 315194872
Change-Id: I879da9c77a9bd1275e45b316fe88ec91d498ec0b
-rw-r--r-- | cmds/lshal/Timeout.h | 10 | ||||
-rw-r--r-- | cmds/lshal/main.cpp | 1 |
2 files changed, 3 insertions, 8 deletions
diff --git a/cmds/lshal/Timeout.h b/cmds/lshal/Timeout.h index 012a5d54aa..e8d22d9b58 100644 --- a/cmds/lshal/Timeout.h +++ b/cmds/lshal/Timeout.h @@ -72,14 +72,10 @@ bool timeout(std::chrono::duration<R, P> delay, std::function<void(void)> &&func 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 a44f467bb1..366c9383a2 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}); } |