summaryrefslogtreecommitdiff
path: root/src/lib/ecore_ipc
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-03-26 18:18:30 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-03-26 23:17:56 +0900
commitfd6d9da8fac02b27f771876e4b540cd940f12181 (patch)
tree50c837067056dbf308821ba8d7ebe1e0e2876f4d /src/lib/ecore_ipc
parent2c76889347cc46be2d0e84c40ff3ef4a71d8defd (diff)
ecore ipc - fix flush to not lose messages
it wasn't looking at the copier queue "todo" at all thus skipping it on flush. this will fix flushing of ecore ipc message buffers. this happens to also now fix terminology's "one process" mode. @fix
Diffstat (limited to 'src/lib/ecore_ipc')
-rw-r--r--src/lib/ecore_ipc/ecore_ipc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c
index c0fcd8be63..7336d83ba8 100644
--- a/src/lib/ecore_ipc/ecore_ipc.c
+++ b/src/lib/ecore_ipc/ecore_ipc.c
@@ -1078,7 +1078,8 @@ ecore_ipc_server_flush(Ecore_Ipc_Server *svr)
1078 while (!efl_io_closer_closed_get(svr->dialer.dialer) && 1078 while (!efl_io_closer_closed_get(svr->dialer.dialer) &&
1079 !efl_net_dialer_connected_get(svr->dialer.dialer)) 1079 !efl_net_dialer_connected_get(svr->dialer.dialer))
1080 ecore_main_loop_iterate(); 1080 ecore_main_loop_iterate();
1081 while (efl_io_queue_usage_get(svr->dialer.input) > 0) 1081 while ((efl_io_queue_usage_get(svr->dialer.input) > 0) ||
1082 (efl_io_copier_pending_size_get(svr->dialer.send_copier) > 0))
1082 efl_io_copier_flush(svr->dialer.send_copier, EINA_TRUE, EINA_TRUE); 1083 efl_io_copier_flush(svr->dialer.send_copier, EINA_TRUE, EINA_TRUE);
1083 return; 1084 return;
1084 } 1085 }