summaryrefslogtreecommitdiff
path: root/libs/gui/ConsumerBase.cpp
diff options
context:
space:
mode:
author Yifan Hong <elsk@google.com> 2017-02-21 14:59:00 -0800
committer Yifan Hong <elsk@google.com> 2017-02-21 15:28:41 -0800
commita57dffb151145529e71b22a8d7f985bc1de105f4 (patch)
tree73b4a3411b300e0d176d3440673c811efb61cd75 /libs/gui/ConsumerBase.cpp
parent52a60e08fb3c636b073a9b6a27672bbd3061e5b8 (diff)
lshal: Fix timeout causes unexpected exits.
with thread::detach the background thread keeps running even after the thread object is destroyed; the background thread will access caller's stack memory, causing segfault. Change it to a thread join to avoid the issue. To avoid waiting too long on the child thread, send a SIGINT if timeout (child thread's signal handler will then call pthread_exit() to terminate the thread). Since we are using pthread_* functions, change usage of std::thread to pthread_t for consistency. Test: lshal Test: run lshal with IPC_CALL_TIMEOUT set to zero will no longer cause SIGSEGV and SIGABRT (test 10 times) Bug: 35623669 Change-Id: I4eef8ffd8ff399793648e861ca4c1a2bdcc7ec50
Diffstat (limited to 'libs/gui/ConsumerBase.cpp')
0 files changed, 0 insertions, 0 deletions