Check the return value of gettimeofday() and move function execution procedure at... 40/237940/4 accepted/tizen/unified/20200708.125338 submit/tizen/20200707.102034
authorYoungHun Kim <yh8004.kim@samsung.com>
Tue, 7 Jul 2020 00:17:20 +0000 (09:17 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Tue, 7 Jul 2020 04:12:25 +0000 (13:12 +0900)
 - Add connection time log for debugging

Change-Id: Iedfcd2b00816fd7da450869b81f048a463a488a2

packaging/mused.spec
server/src/muse_server_private.c

index 5e9111e..ccd092d 100644 (file)
@@ -1,7 +1,7 @@
 Name:       mused
 Summary:    A multimedia daemon
-Version:    0.3.119
-Release:    1
+Version:    0.3.120
+Release:    0
 Group:      System/Libraries
 License:    Apache-2.0
 Source0:    %{name}-%{version}.tar.gz
index a61a0a5..721fc15 100644 (file)
@@ -192,7 +192,7 @@ static int _ms_new(muse_channel_e channel)
        /* Setup listen queue */
        if (listen(fd, 5) == MUSE_ERR) {
                strerror_r(errno, err_msg, MUSE_MSG_LEN_MAX);
-               LOGE("[%d] listen failed (%d) %s", fd, errno, err_msg);
+               LOGE("[%d] listen() failed (%d) %s", fd, errno, err_msg);
                muse_core_log_file_list(UDS_files[channel]);
                ms_log_user_group_info();
                close(fd);
@@ -274,8 +274,6 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio
 
        _ms_lock_state();
 
-       gettimeofday(&muse_server->tv_s, NULL);
-
        if (!ms_is_server_ready()) {
                LOGW("Now mused state is not ready...");
                _ms_unlock_state();
@@ -382,6 +380,14 @@ static gboolean _ms_connection_handler(GIOChannel *source, GIOCondition conditio
                ms_ipc_create_data_dispatch_worker(m);
        }
 
+       if (gettimeofday(&muse_server->tv_s, NULL) != 0) {
+               LOGE("gettimeofday() failed");
+               ms_respawn(SIGABRT);
+               return FALSE;
+       }
+
+       LOGI("connected time %lu", muse_server->tv_s.tv_sec);
+
        _ms_unlock_state();
 
        LOGI("Leave");
@@ -428,7 +434,8 @@ static void _ms_check_idle_state(void)
        if ((int)muse_server->tv_s.tv_sec == 0)
                return;
 
-       gettimeofday(&tv_c, NULL);
+       muse_return_if_fail(gettimeofday(&tv_c, NULL) == 0);
+
        timersub(&tv_c, &muse_server->tv_s, &tv_r);
 
        elapsed_time = tv_r.tv_sec;
@@ -438,8 +445,8 @@ static void _ms_check_idle_state(void)
        instance_number = g_queue_get_length(connection->instance_q);
 
        if (elapsed_time >= (uint32_t)(period * period_idx)) {
-               LOGW("[#%d %u sec (period %d connected time %d)] total number of modules = %d ( %s)", period_idx,
-                       elapsed_time, period, (int)muse_server->tv_s.tv_sec, instance_number, muse_server->instance_pid_info);
+               LOGW("[#%d] %u sec [period %d] [last connected time %lu] total number of modules = %d ( %s)", period_idx,
+                       elapsed_time, period, muse_server->tv_s.tv_sec, instance_number, muse_server->instance_pid_info);
                period_idx++;
        }