From 35187e7fa8039e75ddd1e313f26fe9d9f63f72ed Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Wed, 22 May 2019 08:01:58 -0400 Subject: [PATCH] ecore_ipc: close dialer io closer when dialer is deleted. Summary: dialer uses copier class, so dialer's close on invalidate flag is EINA_FALSE. Therefore dialer io closer is not closed automatically. Reviewers: barbieri, raster, Hermet, zmike Reviewed By: zmike Subscribers: zmike, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8922 --- src/lib/ecore_ipc/ecore_ipc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c index 64b3990..609ee9d 100644 --- a/src/lib/ecore_ipc/ecore_ipc.c +++ b/src/lib/ecore_ipc/ecore_ipc.c @@ -562,6 +562,8 @@ ecore_ipc_server_add(Ecore_Ipc_Type type, const char *name, int port, const void return ecore_ipc_server_with_fd_add(type, name, port, -1, data); } +static Efl_Callback_Array_Item *_ecore_ipc_dialer_cbs(void); + static void _ecore_ipc_dialer_del(Ecore_Ipc_Server *svr) { @@ -587,6 +589,10 @@ _ecore_ipc_dialer_del(Ecore_Ipc_Server *svr) if (svr->dialer.dialer) { + efl_event_callback_array_del(svr->dialer.dialer, _ecore_ipc_dialer_cbs(), svr); + if (!efl_io_closer_closed_get(svr->dialer.dialer)) + efl_io_closer_close(svr->dialer.dialer); + efl_del(svr->dialer.dialer); svr->dialer.dialer = NULL; } -- 2.7.4