From 769aa9f483bd60dd9eab3709ebaf8047fa42a063 Mon Sep 17 00:00:00 2001 From: discomfitor Date: Thu, 11 Nov 2010 20:20:44 +0000 Subject: [PATCH] only free clients that aren't waiting on events to free them to prevent a segv git-svn-id: http://svn.enlightenment.org/svn/e/trunk/ecore@54478 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/ecore_con/ecore_con.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index 265cb64..771b4be 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c @@ -1153,6 +1153,9 @@ _ecore_con_server_free(Ecore_Con_Server *svr) _ecore_con_event_server_del_free, NULL); return; } + + if (svr->event_count > 0) + return; ECORE_MAGIC_SET(svr, ECORE_MAGIC_NONE); t_start = ecore_time_get(); while ((svr->write_buf) && (!svr->dead)) @@ -1223,6 +1226,8 @@ _ecore_con_client_free(Ecore_Con_Client *cl) return; } + if (cl->event_count > 0) + return; ECORE_MAGIC_SET(cl, ECORE_MAGIC_NONE); t_start = ecore_time_get(); while ((cl->buf) && (!cl->dead)) -- 2.7.4