#define MUSE_LWIPC_WAIT_TIME 1000
#endif
+#define MUSE_TIMER_INTERVAL 10
static const char *channel_name[MUSE_CHANNEL_MAX] = {
"msg",
static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition condition, gpointer data);
static void _ms_diag_init(void);
static void _ms_diag_deinit(void);
-static gboolean _ms_idle_cb(gpointer data);
+static gboolean _ms_timer_cb(gpointer data);
+static void _ms_remove_timeout_id(gpointer data);
static int _ms_open_lockfile(void);
static void _ms_process_init(void);
static void _ms_launch_foreground(void);
_ms_lock_state();
if (muse_server->state != MUSE_SERVER_STATE_READY) {
- LOGW("Now mused state is not ready...");
+ muse_core_get_cur_time(&muse_server->tv, NULL);
+ muse_core_change_time_format((int)muse_server->tv.tv_sec, time_buf);
+ LOGW("Now (%s) mused state is not ready... [%d]", time_buf, muse_server->state);
goto out;
}
d->msg_aq = NULL;
}
-static gboolean _ms_idle_cb(gpointer data)
+static gboolean _ms_timer_cb(gpointer data)
{
struct timespec tv;
char time_buf[MUSE_MSG_TIME_LEN];
- if (!ms_create_ready_file())
+ LOGW("Enter");
+
+ if (!ms_create_ready_file()) {
LOGE("%s file creation is failed", MUSE_SERVER_READY);
+ ms_terminate(SIGABRT);
+ }
_ms_diag_init();
return G_SOURCE_REMOVE;
}
+static void _ms_remove_timeout_id(gpointer data)
+{
+ LOGW("Timeout id %u is removed", muse_server->timeout_id);
+ muse_server->timeout_id = 0;
+}
+
static void _ms_init(void)
{
int idx;
int retval = MUSE_ERR;
int idx;
- LOGD("Enter");
+ LOGW("Enter");
muse_return_val_if_fail(muse_server, retval);
muse_return_val_if_fail(muse_server->conf, retval);
LOGE("remove %s failed", UDS_files[idx]);
}
- if (remove(MUSE_DEFAULT_PIDFILE) == -1)
- LOGE("remove %s failed [errno : %d]", MUSE_DEFAULT_PIDFILE, errno);
-
for (idx = 0; idx < muse_server->conf->host_cnt; idx++)
ms_module_deinit(muse_server->module[idx]);
g_free(muse_server);
muse_server = NULL;
- LOGD("Leave");
+ LOGW("Leave");
return retval;
}
muse_return_if_fail(muse_server->main_loop);
- muse_return_if_fail(g_idle_add_full(G_PRIORITY_HIGH, _ms_idle_cb, NULL, NULL) > 0);
+ muse_server->timeout_id = g_timeout_add_full(G_PRIORITY_HIGH, MUSE_TIMER_INTERVAL, _ms_timer_cb, NULL, _ms_remove_timeout_id);
+ if (muse_server->timeout_id == 0) {
+ LOGE("g_timeout_add_seconds_full() is failed");
+ return;
+ }
+
+ LOGW("g_main_loop_run");
- LOGI("g_main_loop_run");
g_main_loop_run(muse_server->main_loop);
+ if (muse_server->timeout_id > 0)
+ g_source_remove(muse_server->timeout_id);
+
+ g_main_loop_unref(muse_server->main_loop);
+
LOGW("Leave");
}
gboolean ms_create_ready_file(void)
{
- LOGD("Enter");
+ LOGW("Enter");
+
#ifndef MUSE_USE_LWIPC
int ready_fd;
#endif
return FALSE;
}
#endif
- LOGD("Leave");
+
+ LOGW("Leave");
return TRUE;