fixing a race condition on MsgTask::destroy()
am: 4eda8e1eab

Change-Id: I454c2dcb8a17c43f8e42edd326b950cd8173eac1
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 @@
 }
 
 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 @@
 }
 
 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/msm8998/utils/MsgTask.cpp b/msm8998/utils/MsgTask.cpp
index 78a3fe0..42079d7 100644
--- a/msm8998/utils/MsgTask.cpp
+++ b/msm8998/utils/MsgTask.cpp
@@ -62,9 +62,9 @@
 }
 
 void MsgTask::destroy() {
+    LocThread* thread = mThread;
     msg_q_unblock((void*)mQ);
-    if (mThread) {
-        LocThread* thread = mThread;
+    if (thread) {
         mThread = NULL;
         delete thread;
     } else {