e_info_client: use ELDBUS_TIMEOUT_INFINITE in dump_buffers 14/242114/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Mon, 24 Aug 2020 06:48:09 +0000 (15:48 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Mon, 24 Aug 2020 07:00:31 +0000 (16:00 +0900)
Change-Id: I94591fdfc89b685ecfa8aeda4b11e307cbd60e0c

src/bin/e_info_client.c

index 523f43ce690789d5849f83fa4ebb8c9b7f3285d3..898882d988127bada44e11dd9de03499d54cd8c6 100644 (file)
@@ -115,6 +115,7 @@ static Eina_Bool compobjs_simple = EINA_FALSE;
 static void end_program(int sig);
 static Eina_Bool _e_info_client_eldbus_message(const char *method, E_Info_Message_Cb cb);
 static Eina_Bool _e_info_client_eldbus_message_with_args(const char *method, E_Info_Message_Cb cb, const char *signature, ...);
+static Eina_Bool _e_info_client_eldbus_message_with_args_timeout(const char *method, E_Info_Message_Cb cb, double timeout, const char *signature, ...);
 static void _e_info_client_eldbus_message_cb(void *data, const Eldbus_Message *msg, Eldbus_Pending *p);
 
 static Eina_Bool
@@ -2944,8 +2945,9 @@ _e_info_client_proc_buffer_shot(int argc, char **argv)
           goto err;
      }
 
-   if (!_e_info_client_eldbus_message_with_args("dump_buffers", _cb_buffer_shot, "iisdi",
-                                                dumprun, count, path, scale, mark))
+   if (!_e_info_client_eldbus_message_with_args_timeout("dump_buffers", _cb_buffer_shot,
+                                                        ELDBUS_TIMEOUT_INFINITE, "iisdi",
+                                                        dumprun, count, path, scale, mark))
      {
         printf("dump_buffers fail (%d)\n", dumprun);
         return;
@@ -6614,6 +6616,23 @@ _e_info_client_eldbus_message_with_args(const char *method, E_Info_Message_Cb cb
    return EINA_TRUE;
 }
 
+static Eina_Bool
+_e_info_client_eldbus_message_with_args_timeout(const char *method, E_Info_Message_Cb cb, double timeout, const char *signature, ...)
+{
+   Eldbus_Pending *p;
+   va_list ap;
+
+   va_start(ap, signature);
+   p = eldbus_proxy_vcall(e_info_client.proxy, method,
+                          _e_info_client_eldbus_message_cb,
+                          cb, timeout, signature, ap);
+   va_end(ap);
+   EINA_SAFETY_ON_NULL_RETURN_VAL(p, EINA_FALSE);
+
+   ecore_main_loop_begin();
+   return EINA_TRUE;
+}
+
 static void
 _e_info_client_eldbus_disconnect(void)
 {