Avoid adding elements to QueueingThread if it's already stopped.
[platform/upstream/iotivity.git] / resource / csdk / connectivity / src / caqueueingthread.c
index 0afeed9..ba7b478 100644 (file)
@@ -237,6 +237,16 @@ CAResult_t CAQueueingThreadAddData(CAQueueingThread_t *thread, void *data, uint3
     // mutex lock
     oc_mutex_lock(thread->threadMutex);
 
+    // thread stop
+    if (thread->isStop)
+    {
+        // mutex unlock
+        oc_mutex_unlock(thread->threadMutex);
+
+        OICFree(message);
+        return CA_STATUS_FAILED;
+    }
+
     // add thread data into list
     u_queue_add_element(thread->dataQueue, message);