summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHosang Kim <hosang12.kim@samsung.com>2019-05-22 08:01:58 -0400
committerMike Blumenkrantz <zmike@samsung.com>2019-05-22 08:01:58 -0400
commit020a59b0f231fc0e2e526a87385bcb5ba3990e69 (patch)
treeec5e3459ba49a5fc36a5a77a7f020024a85c84d4
parent8db978aa4cf216632581c629053fb90ed16de33d (diff)
downloadefl-020a59b0f231fc0e2e526a87385bcb5ba3990e69.tar.gz
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
-rw-r--r--src/lib/ecore_ipc/ecore_ipc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/ecore_ipc/ecore_ipc.c b/src/lib/ecore_ipc/ecore_ipc.c
index 97b263784b..f6f7fee463 100644
--- a/src/lib/ecore_ipc/ecore_ipc.c
+++ b/src/lib/ecore_ipc/ecore_ipc.c
@@ -539,6 +539,8 @@ ecore_ipc_server_add(Ecore_Ipc_Type type, const char *name, int port, const void
return NULL;
}
+static Efl_Callback_Array_Item *_ecore_ipc_dialer_cbs(void);
+
static void
_ecore_ipc_dialer_del(Ecore_Ipc_Server *svr)
{
@@ -564,6 +566,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;
}