X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Fcaqueueingthread.c;h=9a6c56af70c8e04e443734b44d4b8df78dbee953;hb=1cee1631595cac6a6394ac2e0b365c6dd5a42c68;hp=754b1c29392f53df5df6c84ce18b94dc1a83c1c3;hpb=390866079e285d2c74918432c0d597d5da52f8a0;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/caqueueingthread.c b/resource/csdk/connectivity/src/caqueueingthread.c index 754b1c2..9a6c56a 100644 --- a/resource/csdk/connectivity/src/caqueueingthread.c +++ b/resource/csdk/connectivity/src/caqueueingthread.c @@ -92,28 +92,6 @@ static void CAQueueingThreadBaseRoutine(void *threadValue) OICFree(message); } - // remove all remained list data. - while (u_queue_get_size(thread->dataQueue) > 0) - { - // get data - u_queue_message_t *message = u_queue_get_element(thread->dataQueue); - - // free - if(NULL != message) - { - if (NULL != thread->destroy) - { - thread->destroy(message->msg, message->size); - } - else - { - OICFree(message->msg); - } - - OICFree(message); - } - } - ca_mutex_lock(thread->threadMutex); ca_cond_signal(thread->threadCond); ca_mutex_unlock(thread->threadMutex); @@ -261,6 +239,29 @@ CAResult_t CAQueueingThreadDestroy(CAQueueingThread_t *thread) ca_mutex_free(thread->threadMutex); thread->threadMutex = NULL; ca_cond_free(thread->threadCond); + + // remove all remained list data. + while (u_queue_get_size(thread->dataQueue) > 0) + { + // get data + u_queue_message_t *message = u_queue_get_element(thread->dataQueue); + + // free + if(NULL != message) + { + if (NULL != thread->destroy) + { + thread->destroy(message->msg, message->size); + } + else + { + OICFree(message->msg); + } + + OICFree(message); + } + } + u_queue_delete(thread->dataQueue); return CA_STATUS_OK;