summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDante Russo <drusso@codeaurora.org>2017-01-04 17:36:35 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-01-04 17:36:35 +0000
commit4797bfa900a4b282908a4016c9b7101e90d791f2 (patch)
tree9f7cb7ccbd8f700d6acf4fc68b9e576aeebb3379
parent634a10c780c5aebb8ec163d3fc20b6b8ab273759 (diff)
parent4eda8e1eabead3a9115bdd9cedd7e336ed431dbe (diff)
downloadgps-4797bfa900a4b282908a4016c9b7101e90d791f2.tar.gz
fixing a race condition on MsgTask::destroy()
am: 4eda8e1eab Change-Id: I1a0215a7ff5c38972c4e1431cf783e8e084a0d92
-rw-r--r--msm8909/utils/MsgTask.cpp4
-rw-r--r--msm8996/utils/MsgTask.cpp4
-rw-r--r--msmcobalt/utils/MsgTask.cpp4
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 {