revise the deinit funciton 71/73671/1
authorYoungjae Shin <yj99.shin@samsung.com>
Thu, 9 Jun 2016 06:27:38 +0000 (15:27 +0900)
committerYoungjae Shin <yj99.shin@samsung.com>
Thu, 9 Jun 2016 06:27:38 +0000 (15:27 +0900)
Change-Id: I07bb2814d58ac8041509972ff6874329376026b1

common/ic-utils.c
lib/icl-ioty-ocprocess.c
lib/icl-ioty.c

index 33bae2c..bdb5365 100644 (file)
@@ -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)
index 9b0d0a9..9ea1c85 100644 (file)
@@ -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;
 }
index a8071ac..2b4cdb4 100644 (file)
@@ -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);