From: Cedric BAIL Date: Fri, 10 Mar 2017 00:10:00 +0000 (-0800) Subject: ecore_con: avoid potential crash during shutdown due to Ecore_Event queue. X-Git-Tag: upstream/1.20.0~1755 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=deb6f0d2cd33b14932a9b7dd05e4b6ddea5a3318;p=platform%2Fupstream%2Fefl.git ecore_con: avoid potential crash during shutdown due to Ecore_Event queue. --- diff --git a/src/lib/ecore_con/ecore_con_legacy.c b/src/lib/ecore_con/ecore_con_legacy.c index bfff6d9..47c436b 100644 --- a/src/lib/ecore_con/ecore_con_legacy.c +++ b/src/lib/ecore_con/ecore_con_legacy.c @@ -218,6 +218,20 @@ ecore_con_legacy_shutdown(void) EINA_LIST_FREE(_ecore_con_lookups, lookup_ctx) ecore_thread_cancel(lookup_ctx->thread); + ecore_event_type_flush(ECORE_CON_EVENT_CLIENT_ADD, + ECORE_CON_EVENT_CLIENT_DEL, + ECORE_CON_EVENT_SERVER_ADD, + ECORE_CON_EVENT_SERVER_DEL, + ECORE_CON_EVENT_CLIENT_DATA, + ECORE_CON_EVENT_SERVER_DATA, + ECORE_CON_EVENT_CLIENT_WRITE, + ECORE_CON_EVENT_SERVER_WRITE, + ECORE_CON_EVENT_CLIENT_ERROR, + ECORE_CON_EVENT_SERVER_ERROR, + ECORE_CON_EVENT_PROXY_BIND, + ECORE_CON_EVENT_SERVER_UPGRADE, + ECORE_CON_EVENT_CLIENT_UPGRADE); + ecore_con_socks_shutdown(); if (!_ecore_con_event_count) ecore_con_mempool_shutdown(); else WRN("%d events still exist, leaking ecore_con mempools", _ecore_con_event_count); diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c index 557e2c8..8c03176 100644 --- a/src/lib/ecore_con/ecore_con_url.c +++ b/src/lib/ecore_con/ecore_con_url.c @@ -73,6 +73,11 @@ ecore_con_url_shutdown(void) if (_init_count) return _init_count; EINA_LIST_FREE(_url_con_url_list, url_con_url) ecore_con_url_free(url_con_url); + + ecore_event_type_flush(ECORE_CON_EVENT_URL_DATA, + ECORE_CON_EVENT_URL_COMPLETE, + ECORE_CON_EVENT_URL_PROGRESS); + _c_shutdown(); emile_shutdown(); /* no emile_cipher_shutdown(), handled here */ ecore_con_shutdown();