return ret;
}
- LOGI("[%d] #%d guaranteed that connect was returned", sock_fd, mc_table_id);
g_mutex_lock(&mc_mutex);
+ LOGI("[%d] #%d guaranteed that connect was returned", sock_fd, mc_table_id);
g_hash_table_insert(mc_table, GINT_TO_POINTER(sock_fd), GINT_TO_POINTER(mc_table_id++));
g_mutex_unlock(&mc_mutex);
static gpointer _mc_get_fd_ptr(int sock_fd)
{
- muse_return_val_if_fail(mc_table, NULL);
+ g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&mc_mutex);
+
+ if (!mc_table)
+ return NULL;
return g_hash_table_lookup(mc_table, GINT_TO_POINTER(sock_fd));
}
Name: mused
Summary: A multimedia daemon
-Version: 0.3.180
+Version: 0.3.181
Release: 0
Group: System/Libraries
License: Apache-2.0
muse_return_val_if_fail(m, NULL);
ch = &m->ch[MUSE_CHANNEL_DATA];
- muse_return_val_if_fail(ch->data_queue, NULL);
g_mutex_lock(&ch->data_mutex);
while (!(raw_data = (char *)g_queue_pop_head(ch->data_queue))) {
{
muse_return_if_fail(m);
- m->ch[MUSE_CHANNEL_DATA].data_queue = g_queue_new();
- g_mutex_init(&m->ch[MUSE_CHANNEL_DATA].data_mutex);
g_cond_init(&m->ch[MUSE_CHANNEL_DATA].data_cond);
+ g_mutex_init(&m->ch[MUSE_CHANNEL_DATA].data_mutex);
+
+ g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&m->ch[MUSE_CHANNEL_DATA].data_mutex);
+ m->ch[MUSE_CHANNEL_DATA].data_queue = g_queue_new();
}
static void _ms_ipc_data_ch_deinit(muse_module_h m)
muse_return_val_if_fail(data, NULL);
m = (muse_module_h)data;
+
+ g_mutex_lock(&m->dispatch_lock);
+
SECURE_LOGW("module : %p pid %d handle %zd created %d fd %d",
m, m->pid, m->handle, m->is_created, m->ch[MUSE_CHANNEL_MSG].sock_fd);
+ g_mutex_unlock(&m->dispatch_lock);
+
muse_return_val_if_fail(muse_server_module_is_valid(m), NULL);
fd = m->ch[MUSE_CHANNEL_DATA].sock_fd;
LOGD("Enter %p", m);
muse_return_val_if_fail(ms, FALSE);
- muse_return_val_if_fail(ms_is_server_ready(), FALSE);
muse_return_val_if_fail(muse_server_module_is_valid(m), FALSE);
connection = ms->connection;
LOGD("Enter %p", m);
muse_return_val_if_fail(ms, FALSE);
- muse_return_val_if_fail(ms_is_server_ready(), FALSE);
muse_return_val_if_fail(muse_server_module_is_valid(m), TRUE);
connection = ms->connection;
_ms_lock_state();
- if (!ms_is_server_ready()) {
+ if (muse_server->state != MUSE_SERVER_STATE_READY) {
LOGW("Now mused state is not ready...");
goto out;
}
char time_buf[MUSE_MSG_TIME_LEN];
muse_return_if_fail(muse_server);
- muse_return_if_fail(muse_server->state == MUSE_SERVER_STATE_READY);
+ muse_return_if_fail(ms_is_server_ready());
connection = muse_server->connection;
muse_return_if_fail(connection);
{
muse_return_val_if_fail(muse_server, FALSE);
+ g_autoptr(GMutexLocker) locker = g_mutex_locker_new(&muse_server->state_lock);
+
return muse_server->state == MUSE_SERVER_STATE_READY;
}
muse_return_val_if_fail(watchdog, NULL);
+ g_mutex_lock(&watchdog->lock);
+
LOGW("watchdog start : %p", watchdog);
while (watchdog->run) {
- g_mutex_lock(&watchdog->lock);
-
end_time = g_get_monotonic_time() + G_TIME_SPAN_SECOND * MS_WATCHDOG_CHECK_PERIOD;
if (g_cond_wait_until(&watchdog->cond, &watchdog->lock, end_time)) {
try_count = 0;
g_mutex_unlock(&watchdog->lock);
ms_terminate(SIGABRT);
}
-
- g_mutex_unlock(&watchdog->lock);
}
LOGW("Leave");
+ g_mutex_unlock(&watchdog->lock);
+
return NULL;
}