From 3552a91b7d7d22934e4cf9ccd3fbfd203ab6582b Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz 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 SVN revision: 54478 --- legacy/ecore/src/lib/ecore_con/ecore_con.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index 265cb64b1c..771b4be985 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/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))