From 4a858be381e13353119c1339fc459c60d6873c9c Mon Sep 17 00:00:00 2001 From: Youngjae Shin Date: Thu, 9 Jun 2016 15:27:38 +0900 Subject: [PATCH] revise the deinit funciton Change-Id: I07bb2814d58ac8041509972ff6874329376026b1 --- common/ic-utils.c | 6 ++++++ lib/icl-ioty-ocprocess.c | 4 ---- lib/icl-ioty.c | 1 + 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/common/ic-utils.c b/common/ic-utils.c index 33bae2c..bdb5365 100644 --- a/common/ic-utils.c +++ b/common/ic-utils.c @@ -340,8 +340,14 @@ void ic_utils_cond_signal(int type) { int ret; + ret = pthread_mutex_lock(_utils_mutex_get(IC_UTILS_MUTEX_POLLING)); + WARN_IF(0 != ret, "pthread_mutex_lock() Fail(%d)", ret); + ret = pthread_cond_signal(_utils_cond_get(type)); WARN_IF(0 != ret, "pthread_cond_signal() Fail(%d)", ret); + + ret = pthread_mutex_unlock(_utils_mutex_get(IC_UTILS_MUTEX_POLLING)); + WARN_IF(0 != ret, "pthread_mutex_unlock() Fail(%d)", ret); } void ic_utils_cond_timedwait(int cond_type, int mutex_type, int polling_interval) diff --git a/lib/icl-ioty-ocprocess.c b/lib/icl-ioty-ocprocess.c index 9b0d0a9..9ea1c85 100644 --- a/lib/icl-ioty-ocprocess.c +++ b/lib/icl-ioty-ocprocess.c @@ -74,9 +74,7 @@ API int iotcon_polling_set_interval(int interval) icl_ioty_polling_interval = interval; - ic_utils_mutex_lock(IC_UTILS_MUTEX_POLLING); ic_utils_cond_signal(IC_UTILS_COND_POLLING); - ic_utils_mutex_unlock(IC_UTILS_MUTEX_POLLING); return IOTCON_ERROR_NONE; } @@ -86,9 +84,7 @@ API int iotcon_polling_invoke(void) { RETV_IF(false == ic_utils_check_ocf_feature(), IOTCON_ERROR_NOT_SUPPORTED); - ic_utils_mutex_lock(IC_UTILS_MUTEX_POLLING); ic_utils_cond_signal(IC_UTILS_COND_POLLING); - ic_utils_mutex_unlock(IC_UTILS_MUTEX_POLLING); return IOTCON_ERROR_NONE; } diff --git a/lib/icl-ioty.c b/lib/icl-ioty.c index a8071ac..2b4cdb4 100644 --- a/lib/icl-ioty.c +++ b/lib/icl-ioty.c @@ -60,6 +60,7 @@ void icl_ioty_deinit(pthread_t thread) OCStackResult result; icl_ioty_ocprocess_stop(); + ic_utils_cond_signal(IC_UTILS_COND_POLLING); ret = pthread_join(thread, NULL); if (0 != ret) ERR("pthread_join() Fail(%d)", ret); -- 2.7.4