diff options
author | Dante Russo <drusso@codeaurora.org> | 2017-01-04 17:36:35 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-01-04 17:36:35 +0000 |
commit | 4797bfa900a4b282908a4016c9b7101e90d791f2 (patch) | |
tree | 9f7cb7ccbd8f700d6acf4fc68b9e576aeebb3379 | |
parent | 634a10c780c5aebb8ec163d3fc20b6b8ab273759 (diff) | |
parent | 4eda8e1eabead3a9115bdd9cedd7e336ed431dbe (diff) | |
download | gps-4797bfa900a4b282908a4016c9b7101e90d791f2.tar.gz |
fixing a race condition on MsgTask::destroy()
am: 4eda8e1eab
Change-Id: I1a0215a7ff5c38972c4e1431cf783e8e084a0d92
-rw-r--r-- | msm8909/utils/MsgTask.cpp | 4 | ||||
-rw-r--r-- | msm8996/utils/MsgTask.cpp | 4 | ||||
-rw-r--r-- | msmcobalt/utils/MsgTask.cpp | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/msm8909/utils/MsgTask.cpp b/msm8909/utils/MsgTask.cpp index 6f9d0e9..0e7a3a2 100644 --- a/msm8909/utils/MsgTask.cpp +++ b/msm8909/utils/MsgTask.cpp @@ -63,9 +63,9 @@ MsgTask::~MsgTask() { } void MsgTask::destroy() { + LocThread* thread = mThread; msg_q_unblock((void*)mQ); - if (mThread) { - LocThread* thread = mThread; + if (thread) { mThread = NULL; delete thread; } else { diff --git a/msm8996/utils/MsgTask.cpp b/msm8996/utils/MsgTask.cpp index 6f9d0e9..0e7a3a2 100644 --- a/msm8996/utils/MsgTask.cpp +++ b/msm8996/utils/MsgTask.cpp @@ -63,9 +63,9 @@ MsgTask::~MsgTask() { } void MsgTask::destroy() { + LocThread* thread = mThread; msg_q_unblock((void*)mQ); - if (mThread) { - LocThread* thread = mThread; + if (thread) { mThread = NULL; delete thread; } else { diff --git a/msmcobalt/utils/MsgTask.cpp b/msmcobalt/utils/MsgTask.cpp index 78a3fe0..42079d7 100644 --- a/msmcobalt/utils/MsgTask.cpp +++ b/msmcobalt/utils/MsgTask.cpp @@ -62,9 +62,9 @@ MsgTask::~MsgTask() { } void MsgTask::destroy() { + LocThread* thread = mThread; msg_q_unblock((void*)mQ); - if (mThread) { - LocThread* thread = mThread; + if (thread) { mThread = NULL; delete thread; } else { |