diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c index 4036c46..2fd8730 100644 --- a/src/bin/ui/ui.c +++ b/src/bin/ui/ui.c @@ -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) { diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h index a1718d8..410360d 100644 --- a/src/bin/ui/ui.h +++ b/src/bin/ui/ui.h @@ -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 diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c index a919f58..a73f2f9 100644 --- a/src/bin/ui/ui_process_view.c +++ b/src/bin/ui/ui_process_view.c @@ -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); }