From: Carsten Haitzler (Rasterman) Date: Thu, 15 May 2014 06:48:18 +0000 (+0900) Subject: fix ecore_con_url using 100% cpu and just let fd handler do work X-Git-Tag: v1.10.0-beta3~19 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7c00bd51236d6414675ae759fcf38d914df3268b;p=platform%2Fupstream%2Fefl.git fix ecore_con_url using 100% cpu and just let fd handler do work this fixes T1251 - @fix --- diff --git a/src/lib/ecore_con/ecore_con_url.c b/src/lib/ecore_con/ecore_con_url.c index 0a796d3..ffaa6bb 100644 --- a/src/lib/ecore_con/ecore_con_url.c +++ b/src/lib/ecore_con/ecore_con_url.c @@ -246,7 +246,6 @@ static Eina_List *_fd_hd_list = NULL; static int _init_count = 0; static Ecore_Timer *_curl_timer = NULL; static Eina_Bool pipelining = EINA_FALSE; -static Ecore_Idler *_curl_idler = NULL; static Ecore_Con_Curl *_c = NULL; static Eina_Bool _c_fail = EINA_FALSE; @@ -372,11 +371,6 @@ ecore_con_url_shutdown(void) ecore_timer_del(_curl_timer); _curl_timer = NULL; } - if (_curl_idler) - { - ecore_idler_del(_curl_idler); - _curl_idler = NULL; - } EINA_LIST_FREE(_url_con_list, url_con) ecore_con_url_free(url_con); EINA_LIST_FREE(_fd_hd_list, fd_handler) @@ -1554,7 +1548,7 @@ _ecore_con_url_fd_handler(void *data EINA_UNUSED, Ecore_Fd_Handler *fd_handler E _c->curl_multi_timeout(_c->_curlm, &ms); if ((ms >= CURL_MIN_TIMEOUT) || (ms <= 0)) ms = CURL_MIN_TIMEOUT; ecore_timer_interval_set(_curl_timer, (double)ms / 1000.0); - if (!_curl_idler) _curl_idler = ecore_idler_add(_ecore_con_url_timer, NULL); + _ecore_con_url_timer(NULL); return ECORE_CALLBACK_CANCEL; } @@ -1622,11 +1616,6 @@ _ecore_con_url_timer(void *data EINA_UNUSED) ERR("curl_multi_perform() failed: %s", _c->curl_multi_strerror(ret)); _ecore_con_url_curl_clear(); ecore_timer_freeze(_curl_timer); - if (_curl_idler) - { - ecore_idler_del(_curl_idler); - _curl_idler = NULL; - } } if (still_running) { @@ -1645,11 +1634,6 @@ _ecore_con_url_timer(void *data EINA_UNUSED) _ecore_con_url_info_read(); _ecore_con_url_curl_clear(); ecore_timer_freeze(_curl_timer); - if (_curl_idler) - { - ecore_idler_del(_curl_idler); - _curl_idler = NULL; - } } return ECORE_CALLBACK_RENEW; }