From: Ashok Channa Date: Fri, 25 Sep 2015 01:01:16 +0000 (+0900) Subject: Fixed the start adapter bug in ip/tcp adapter. (IOT-753/ IOT-453) X-Git-Tag: 1.0.0~63 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=063a6758fe11cd84ead8d0d4b50b1c74d3c4570d;p=contrib%2Fiotivity.git Fixed the start adapter bug in ip/tcp adapter. (IOT-753/ IOT-453) After multiple terminate initialization, CASendRequest API is not working. because we didn't set the start flag with false after stopping adapter. Both JIRA issues are related. Change-Id: If855c4f689ce6979ae13591f2d4048113148d150 Signed-off-by: hyuna0213.jo Signed-off-by: Ashok Channa Reviewed-on: https://gerrit.iotivity.org/gerrit/3069 Tested-by: jenkins-iotivity Reviewed-by: Jaehong Jo Reviewed-by: Patrick Lankswert (cherry picked from commit e6a9b33034b37e116d8bca5679292fd597fcb5cd) Reviewed-on: https://gerrit.iotivity.org/gerrit/3485 --- diff --git a/resource/csdk/connectivity/src/ip_adapter/caipadapter.c b/resource/csdk/connectivity/src/ip_adapter/caipadapter.c index f7abd4a..998e26c 100644 --- a/resource/csdk/connectivity/src/ip_adapter/caipadapter.c +++ b/resource/csdk/connectivity/src/ip_adapter/caipadapter.c @@ -439,6 +439,8 @@ CAResult_t CAStopIP() CAIPStopNetworkMonitor(); CAIPStopServer(); + //Re-initializing the Globals to start them again + CAInitializeIPGlobals(); OIC_LOG(DEBUG, TAG, "OUT"); return CA_STATUS_OK; diff --git a/resource/csdk/connectivity/src/ip_adapter/caipserver.c b/resource/csdk/connectivity/src/ip_adapter/caipserver.c index 3ca7831..5dd5b87 100644 --- a/resource/csdk/connectivity/src/ip_adapter/caipserver.c +++ b/resource/csdk/connectivity/src/ip_adapter/caipserver.c @@ -583,6 +583,7 @@ void CAIPStopServer() { OIC_LOG(DEBUG, TAG, "IN"); + caglobals.ip.started = false; caglobals.ip.terminate = true; if (caglobals.ip.shutdownFds[1] != -1) diff --git a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c index 102893a..f48cb90 100644 --- a/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c +++ b/resource/csdk/connectivity/src/tcp_adapter/catcpserver.c @@ -173,7 +173,7 @@ static void CATCPDisconnectAll() } } u_arraylist_destroy(caglobals.tcp.svrlist); - + caglobals.tcp.svrlist = NULL; ca_mutex_unlock(g_mutexObjectList); OIC_LOG(DEBUG, TAG, "OUT"); @@ -575,6 +575,8 @@ CAResult_t CATCPStartServer(const ca_thread_pool_t threadPool) caglobals.tcp.started = true; + g_threadCounts = CA_TCP_DEFAULT_THREAD_COUNTS; + return CA_STATUS_OK; } @@ -587,6 +589,7 @@ void CATCPStopServer() // set terminate flag caglobals.tcp.terminate = true; + caglobals.tcp.started = false; ca_cond_wait(g_condObjectList, g_mutexObjectList);