From cc016988721144b63eddbfa00a495dbf50778ee5 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 11 Nov 2010 20:34:35 +0000 Subject: [PATCH] avoid looping infinitely while freeing servers, and don't log while freeing servers in case ecore_con's log domain has already been unregistered SVN revision: 54479 --- legacy/ecore/src/lib/ecore_con/ecore_con.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/legacy/ecore/src/lib/ecore_con/ecore_con.c b/legacy/ecore/src/lib/ecore_con/ecore_con.c index 771b4be985..5692eed80e 100644 --- a/legacy/ecore/src/lib/ecore_con/ecore_con.c +++ b/legacy/ecore/src/lib/ecore_con/ecore_con.c @@ -165,11 +165,14 @@ ecore_con_init(void) EAPI int ecore_con_shutdown(void) { + Eina_List *l, *l2; + Ecore_Con_Server *svr; + if (--_ecore_con_init_count != 0) return _ecore_con_init_count; - while (servers) - _ecore_con_server_free(eina_list_data_get(servers)); + EINA_LIST_FOREACH_SAFE(servers, l, l2, svr) + _ecore_con_server_free(svr); ecore_con_info_shutdown(); ecore_con_ssl_shutdown(); @@ -1143,7 +1146,6 @@ _ecore_con_server_free(Ecore_Con_Server *svr) Ecore_Con_Event_Server_Del *e; svr->dead = EINA_TRUE; - INF("Lost server %s", svr->ip); e = calloc(1, sizeof(Ecore_Con_Event_Server_Del)); EINA_SAFETY_ON_NULL_RETURN(e); @@ -1214,7 +1216,6 @@ _ecore_con_client_free(Ecore_Con_Client *cl) Ecore_Con_Event_Client_Del *e; cl->dead = EINA_TRUE; - INF("Lost client %s", cl->ip); e = calloc(1, sizeof(Ecore_Con_Event_Client_Del)); EINA_SAFETY_ON_NULL_RETURN(e);