[IMAPx] Remove stale cache files in a dedicated thread
I've just opened evo and it hanged in loading folders, later it turned all black asking if I want to force quit or wait..
This is from bt
Thread 1 (Thread 0x7f23cd801a80 (LWP 27782)):
#0 0x00007f23c159e717 in unlink () at ../sysdeps/unix/syscall-template.S:81
#1 0x00007f23c7158395 in g_unlink (filename=<optimized out>) at gstdio.c:1128
#2 0x00007f23ccc9a06b in camel_data_cache_remove (cdc=<optimized out>, path=path@entry=0x7f2390970508 "cur", key=key@entry=0x5046030 "1719340", error=error@entry=0x0) at /usr/src/debug/evolution-data-server-3.28.2/src/camel/camel-data-cache.c:605
#3 0x00007f239094380d in imapx_folder_changed (folder=0x7f2380007e00 [CamelIMAPXFolder], info=0x7f2398012200) at /usr/src/debug/evolution-data-server-3.28.2/src/camel/providers/imapx/camel-imapx-folder.c:952
#7 0x00007f23c742e2df in <emit signal ??? on instance 0x7f2380007e00 [CamelIMAPXFolder]> (instance=instance@entry=0x7f2380007e00, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3447
#4 0x00007f23c7413988 in g_closure_invoke (closure=closure@entry=0x2f43f00, return_value=return_value@entry=0x0, n_param_values=2, param_values=param_values@entry=0x7ffd6b4b86d0, invocation_hint=invocation_hint@entry=0x7ffd6b4b8670) at gclosure.c:804
#5 0x00007f23c7425887 in signal_emit_unlocked_R (node=node@entry=0x2e60620, detail=detail@entry=0, instance=instance@entry=0x7f2380007e00, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7ffd6b4b86d0) at gsignal.c:3565
#6 0x00007f23c742dff1 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7ffd6b4b8860) at gsignal.c:3391
#8 0x00007f23cccb5a68 in folder_emit_changed_cb (user_data=user_data@entry=0x7f231407f9a0) at /usr/src/debug/evolution-data-server-3.28.2/src/camel/camel-folder.c:189
#9 0x00007f23c7136c77 in g_idle_dispatch (source=0x7f230c006f00, callback=0x7f23cccb5a20 <folder_emit_changed_cb>, user_data=0x7f231407f9a0) at gmain.c:5533
#10 0x00007f23c713a049 in g_main_context_dispatch (context=0x241fd30) at gmain.c:3175
#11 0x00007f23c713a049 in g_main_context_dispatch (context=context@entry=0x241fd30) at gmain.c:3828
#12 0x00007f23c713a3a8 in g_main_context_iterate (context=0x241fd30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3901
#13 0x00007f23c713a67a in g_main_loop_run (loop=0x302ed10) at gmain.c:4097
#14 0x00007f23c9ca4085 in gtk_main () at gtkmain.c:1323
#15 0x000000000040403d in main (argc=1, argv=0x7ffd6b4b8c58) at /usr/src/debug/evolution-3.28.2/src/shell/main.c:675
evolution-3.28.2-1