change the location of mutex
[platform/core/uifw/voice-control.git] / client / vc.c
index c514b81..39bd7aa 100644 (file)
@@ -152,39 +152,39 @@ static void __check_privilege_deinitialize()
 
 static int __vc_check_privilege()
 {
-       if (true == g_privilege_allowed)
-               return VC_ERROR_NONE;
-
        pthread_mutex_lock(&g_cynara_mutex);
 
-       if (false == g_privilege_allowed) {
-               bool ret = true;
-               ret = __check_privilege_initialize();
-               if (false == ret) {
-                       //LCOV_EXCL_START
-                       SLOG(LOG_ERROR, TAG_VCC, "[ERROR] privilege initialize is failed");
-                       pthread_mutex_unlock(&g_cynara_mutex);
-                       return VC_ERROR_PERMISSION_DENIED;
-                       //LCOV_EXCL_STOP
-               }
+       if (true == g_privilege_allowed) {
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_NONE;
+       }
 
-               char uid[32];
-               snprintf(uid, 32, "%d", getuid());
-               ret = true;
-               ret = __check_privilege(uid, VC_PRIVILEGE_RECORDER);
-               if (false == ret) {
-                       //LCOV_EXCL_START
-                       SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Permission is denied(%s)(%s)", VC_PRIVILEGE_RECORDER, uid);
-                       __check_privilege_deinitialize();
-                       g_privilege_allowed = false;
-                       pthread_mutex_unlock(&g_cynara_mutex);
-                       return VC_ERROR_PERMISSION_DENIED;
-                       //LCOV_EXCL_STOP
-               }
+       bool ret = true;
+       ret = __check_privilege_initialize();
+       if (false == ret) {
+               //LCOV_EXCL_START
+               SLOG(LOG_ERROR, TAG_VCC, "[ERROR] privilege initialize is failed");
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_PERMISSION_DENIED;
+               //LCOV_EXCL_STOP
+       }
 
+       char uid[32];
+       snprintf(uid, 32, "%d", getuid());
+       ret = true;
+       ret = __check_privilege(uid, VC_PRIVILEGE_RECORDER);
+       if (false == ret) {
+               //LCOV_EXCL_START
+               SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Permission is denied(%s)(%s)", VC_PRIVILEGE_RECORDER, uid);
                __check_privilege_deinitialize();
+               g_privilege_allowed = false;
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_PERMISSION_DENIED;
+               //LCOV_EXCL_STOP
        }
 
+       __check_privilege_deinitialize();
+
        g_privilege_allowed = true;
        pthread_mutex_unlock(&g_cynara_mutex);
        return VC_ERROR_NONE;
@@ -204,39 +204,39 @@ int __check_feature_privilege()
 
 int __vc_tts_check_privilege()
 {
-       if (true == g_vc_tts_privilege_allowed)
-               return VC_ERROR_NONE;
-
        pthread_mutex_lock(&g_cynara_mutex);
 
-       if (false == g_vc_tts_privilege_allowed) {
-               bool ret = true;
-               ret = __check_privilege_initialize();
-               if (false == ret) {
-                       //LCOV_EXCL_START
-                       SLOG(LOG_ERROR, TAG_VCC, "[ERROR] privilege initialize is failed");
-                       pthread_mutex_unlock(&g_cynara_mutex);
-                       return VC_ERROR_PERMISSION_DENIED;
-                       //LCOV_EXCL_STOP
-               }
+       if (true == g_vc_tts_privilege_allowed) {
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_NONE;
+       }
 
-               char uid[32];
-               snprintf(uid, 32, "%d", getuid());
-               ret = true;
-               ret = __check_privilege(uid, VC_TTS_PRIVILEGE);
-               if (false == ret) {
-                       //LCOV_EXCL_START
-                       SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Permission is denied(%s)(%s)", VC_TTS_PRIVILEGE, uid);
-                       __check_privilege_deinitialize();
-                       g_vc_tts_privilege_allowed = false;
-                       pthread_mutex_unlock(&g_cynara_mutex);
-                       return VC_ERROR_PERMISSION_DENIED;
-                       //LCOV_EXCL_STOP
-               }
+       bool ret = true;
+       ret = __check_privilege_initialize();
+       if (false == ret) {
+               //LCOV_EXCL_START
+               SLOG(LOG_ERROR, TAG_VCC, "[ERROR] privilege initialize is failed");
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_PERMISSION_DENIED;
+               //LCOV_EXCL_STOP
+       }
 
+       char uid[32];
+       snprintf(uid, 32, "%d", getuid());
+       ret = true;
+       ret = __check_privilege(uid, VC_TTS_PRIVILEGE);
+       if (false == ret) {
+               //LCOV_EXCL_START
+               SLOG(LOG_ERROR, TAG_VCC, "[ERROR] Permission is denied(%s)(%s)", VC_TTS_PRIVILEGE, uid);
                __check_privilege_deinitialize();
+               g_vc_tts_privilege_allowed = false;
+               pthread_mutex_unlock(&g_cynara_mutex);
+               return VC_ERROR_PERMISSION_DENIED;
+               //LCOV_EXCL_STOP
        }
 
+       __check_privilege_deinitialize();
+
        g_vc_tts_privilege_allowed = true;
        pthread_mutex_unlock(&g_cynara_mutex);
        return VC_ERROR_NONE;