From ec75c623690f5c81d9ff57dc2cfad7ff23d0fcf3 Mon Sep 17 00:00:00 2001 From: Gustavo Sverzut Barbieri Date: Thu, 24 Nov 2016 19:00:49 -0200 Subject: [PATCH] efl_debug (client): quit if not waiting and we're done sending. --- src/bin/efl/efl_debug.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bin/efl/efl_debug.c b/src/bin/efl/efl_debug.c index 594aba6e1b..7b4dbb0c2e 100644 --- a/src/bin/efl/efl_debug.c +++ b/src/bin/efl/efl_debug.c @@ -138,6 +138,12 @@ _command_send(const char op[static 4], const void *data, unsigned int len) return EINA_TRUE; } +static void +_finished_sending(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) +{ + if (!waiting) ecore_main_loop_quit(); +} + static void _dialer_eos(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { @@ -243,7 +249,8 @@ main(int argc, char **argv) send_copier = efl_add(EFL_IO_COPIER_CLASS, loop, efl_io_copier_source_set(efl_added, input), efl_io_copier_destination_set(efl_added, dialer), - efl_io_closer_close_on_destructor_set(efl_added, EINA_FALSE)); + efl_io_closer_close_on_destructor_set(efl_added, EINA_FALSE), + efl_event_callback_add(efl_added, EFL_IO_COPIER_EVENT_DONE, _finished_sending, NULL)); if (!send_copier) { fprintf(stderr, "ERROR: could not create send copier\n");