summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-11-24 19:00:49 -0200
committerGustavo Sverzut Barbieri <barbieri@profusion.mobi>2016-11-24 19:00:49 -0200
commitec75c623690f5c81d9ff57dc2cfad7ff23d0fcf3 (patch)
tree200913db86f4e70c0a4a4f6f2128b563418a6f99
parentb79f03c916a54b41d401c5464ce2af9faa06b972 (diff)
downloadefl-ec75c623690f5c81d9ff57dc2cfad7ff23d0fcf3.tar.gz
efl_debug (client): quit if not waiting and we're done sending.
-rw-r--r--src/bin/efl/efl_debug.c9
1 files changed, 8 insertions, 1 deletions
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
@@ -139,6 +139,12 @@ _command_send(const char op[static 4], const void *data, unsigned int len)
}
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)
{
ecore_main_loop_quit();
@@ -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");