X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=resource%2Fcsdk%2Fconnectivity%2Fsrc%2Ftcp_adapter%2Fcatcpserver.c;h=a98e8a1ed2b2cd5cbad01b0c8e06fd58b687687b;hb=2a757f4ede2ef24ce6b3a48d42677e6732335e0b;hp=8ba71895fe3f88de1ef8b12cf27cc3f6e4815f24;hpb=b9f147a837d6947528ac9440d2d39fd47a68ed5f;p=platform%2Fupstream%2Fiotivity.git diff --git a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c index 8ba7189..a98e8a1 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c +++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c @@ -86,6 +86,11 @@ static ca_thread_pool_t g_threadPool = NULL; /** + * Thread task id. + */ +static uint32_t g_taskId = 0; + +/** * Mutex to synchronize device object list. */ static oc_mutex g_mutexObjectList = NULL; @@ -1200,7 +1205,7 @@ CAResult_t CATCPStartServer(const ca_thread_pool_t threadPool) CAResult_t res = CA_STATUS_OK; #ifndef __TIZENRT__ - res = ca_thread_pool_add_task(g_threadPool, CAReceiveHandler, NULL, NULL); + res = ca_thread_pool_add_task(g_threadPool, CAReceiveHandler, NULL, &g_taskId); #else res = ca_thread_pool_add_task(g_threadPool, CAReceiveHandler, NULL, NULL, "IoT_TCPReceive", CONFIG_IOTIVITY_TCPRECEIVE_PTHREAD_STACKSIZE); @@ -1284,9 +1289,12 @@ void CATCPStopServer() #endif oc_mutex_unlock(g_mutexObjectList); +#ifndef __TIZENRT__ + ca_thread_pool_remove_task(g_threadPool, g_taskId); +#endif + CATCPDisconnectAll(); sleep(1); - OIC_LOG(INFO, TAG, "Adapter terminated successfully"); }