Fix dbus delay when requesting hello 78/185378/1
authorsooyeon.kim <sooyeon.kim@samsung.com>
Mon, 30 Jul 2018 05:48:54 +0000 (14:48 +0900)
committersooyeon.kim <sooyeon.kim@samsung.com>
Mon, 30 Jul 2018 05:48:54 +0000 (14:48 +0900)
Change-Id: I5417ce2db0e59a77895f3185348019c030279d19
Signed-off-by: sooyeon.kim <sooyeon.kim@samsung.com>
client/stt_dbus.c
server/sttd_dbus.c

index f589775..a707264 100644 (file)
@@ -923,7 +923,7 @@ int stt_dbus_request_hello(int uid)
        }
 
        if (g_conn_sender) {
-               result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, g_waiting_short_time, &err);
+               result_msg = dbus_connection_send_with_reply_and_block(g_conn_sender, msg, -1, &err);
                dbus_message_unref(msg);
                if (dbus_error_is_set(&err)) {
                        SLOG(LOG_ERROR, TAG_STTC, "[ERROR] Get arguments error (%s)", err.message);
index d086d89..c234977 100644 (file)
@@ -763,6 +763,11 @@ int sttd_dbus_open_connection()
                return STTD_ERROR_OPERATION_FAILED;
        }
 
+       /* Flush messages which are received before fd event handler registration */
+       while (DBUS_DISPATCH_DATA_REMAINS == dbus_connection_get_dispatch_status(g_conn_listener)) {
+               listener_event_callback(NULL, NULL);
+       }
+
        /* add a rule for getting signal */
        char rule[128];
        snprintf(rule, 128, "type='signal',interface='%s'", g_server_service_interface);