ui: drop the lock there and restart

This commit is contained in:
Alastair Poole 2020-10-27 17:52:24 +00:00
parent 9fe587d2bf
commit 42ccf2fb6e
3 changed files with 13 additions and 11 deletions

View File

@ -1112,8 +1112,8 @@ _menu_effects_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
}
_config_save(ui);
ecore_app_restart();
ecore_main_loop_quit();
evisum_restart();
}
static void
@ -1840,6 +1840,14 @@ _ui_init_system_probe(Ui *ui)
ui->mem.zfs_mounted = file_system_in_use("ZFS");
}
void
evisum_restart(void)
{
evisum_server_shutdown();
ecore_app_restart();
ecore_main_loop_quit();
}
void
evisum_ui_activate(Ui *ui, Evisum_Action action, int pid)
{

View File

@ -128,4 +128,7 @@ evisum_ui_can_exit(Ui *ui);
void
evisum_ui_activate(Ui *ui, Evisum_Action action, int pid);
void
evisum_restart(void);
#endif

View File

@ -2,8 +2,6 @@
#include "../system/process.h"
#include "util.c"
static Eina_Lock _lock;
typedef struct {
int tid;
char *name;
@ -286,8 +284,6 @@ _thread_info_set(Ui_Process *ui, Proc_Info *proc)
Elm_Object_Item *it;
Eina_List *l, *threads = NULL;
eina_lock_take(&_lock);
if (!ui->hash_cpu_times)
ui->hash_cpu_times = eina_hash_string_superfast_new(_hash_free_cb);
@ -338,7 +334,6 @@ _thread_info_set(Ui_Process *ui, Proc_Info *proc)
it = elm_genlist_item_next_get(it);
}
}
eina_lock_release(&_lock);
}
static void
@ -1235,8 +1230,6 @@ _win_del_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->cache)
evisum_ui_item_cache_free(ui->cache);
eina_lock_free(&_lock);
evas_object_del(win);
free(ui);
@ -1311,8 +1304,6 @@ ui_process_win_add(Evas_Object *parent_win, int pid, const char *cmd, int poll_d
ui->cache = evisum_ui_item_cache_new(ui->genlist_threads, _item_create, 10);
eina_lock_new(&_lock);
_proc_info_update(ui);
_tree_view_update(ui);
}