raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6df39f0382e8a398b35c7e18ca547f1bb461bd10
commit 6df39f0382e8a398b35c7e18ca547f1bb461bd10 Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Thu Apr 9 20:45:57 2020 +0100 efreet - try less chaotic efreetd restart and delay 0.5-1.0 rand sec try work on T8490 --- src/lib/efreet/efreet_cache.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/lib/efreet/efreet_cache.c b/src/lib/efreet/efreet_cache.c index 329bcc7ebc..a34ffd405d 100644 --- a/src/lib/efreet/efreet_cache.c +++ b/src/lib/efreet/efreet_cache.c @@ -120,6 +120,8 @@ _ipc_launch(void) int tries = 1000; // 1000 * 10ms == 10sec const char *s; + ipc = ecore_ipc_server_connect(ECORE_IPC_LOCAL_USER, "efreetd", 0, NULL); + if (ipc) return; s = getenv("EFREETD_CONNECT_TRIES"); if (s) { @@ -180,7 +182,6 @@ _cb_server_reconnect(void *data EINA_UNUSED) static Eina_Bool _cb_server_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) { - static double last_del = 0.0; double t; IPC_HEAD(Del); ipc = NULL; @@ -194,15 +195,10 @@ _cb_server_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) free(address); return EINA_FALSE; } - t = ecore_time_get(); - if ((t - last_del) < 0.5) - { - if (reconnect_timer) ecore_timer_del(reconnect_timer); - reconnect_timer = ecore_timer_add(0.5, _cb_server_reconnect, NULL); - } - else - _cb_server_reconnect(NULL); - last_del = t; + // random 0.5 -> 1.0 sec from now + t = (((double)((rand() + (int)getpid()) & 0xff) / 255.0) * 0.5) + 0.5; + if (reconnect_timer) ecore_timer_del(reconnect_timer); + reconnect_timer = ecore_timer_add(t, _cb_server_reconnect, NULL); return ECORE_CALLBACK_DONE; } --
