#include <vconf.h>
#include <vconf-internal-keys.h>
#include <buxton2.h>
+#include <mutex>
#include "vc_config_mgr.h"
#include "vc_config_parser.h"
#include "vc_main.h"
#include "voice_control_command.h"
+
+using namespace std;
+
#define EVENT_SIZE (sizeof(struct inotify_event))
#define BUF_LEN (EVENT_SIZE + 16)
static int g_fd_lang = -1;
static int g_wd_lang = -1;
-static GList* g_ino_list = NULL;
+static GList* g_ino_list = nullptr;
+static mutex g_ino_list_mutex;
static pthread_mutex_t vc_config_mgr_mutex = PTHREAD_MUTEX_INITIALIZER;
-static pthread_mutex_t vc_config_engine_mutex = PTHREAD_MUTEX_INITIALIZER;
static int __vc_config_mgr_register_engine_config_updated_event(const char* path);
static int __vc_config_mgr_unregister_engine_config_updated_event();
SLOG(LOG_WARN, vc_config_tag(), "[WARNING] Fail to set non-block mode");
}
- pthread_mutex_lock(&vc_config_engine_mutex);
+ unique_lock<mutex> lock(g_ino_list_mutex);
g_ino_list = g_list_append(g_ino_list, ino);
- pthread_mutex_unlock(&vc_config_engine_mutex);
return VC_ERROR_NONE;
}
static int __vc_config_mgr_unregister_engine_config_updated_event()
{
- pthread_mutex_lock(&vc_config_engine_mutex);
+ unique_lock<mutex> lock(g_ino_list_mutex);
/* delete all inotify variable */
if (0 < g_list_length(g_ino_list)) {
iter = g_list_first(g_ino_list);
}
}
- pthread_mutex_unlock(&vc_config_engine_mutex);
return VC_ERROR_NONE;
}