[sysprof] util: add synchronous form to reload model
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [sysprof] util: add synchronous form to reload model
- Date: Sat, 25 Nov 2017 06:05:07 +0000 (UTC)
commit b78293657d1c1e51943433355c95b2b14e0862f5
Author: Christian Hergert <chergert redhat com>
Date: Fri Nov 24 00:35:14 2017 -0800
util: add synchronous form to reload model
lib/util/sp-process-model.c | 21 +++++++++++++++++++++
lib/util/sp-process-model.h | 1 +
2 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/lib/util/sp-process-model.c b/lib/util/sp-process-model.c
index e83b132..8d55e36 100644
--- a/lib/util/sp-process-model.c
+++ b/lib/util/sp-process-model.c
@@ -236,6 +236,7 @@ sp_process_model_do_reload (gpointer user_data)
self->reload_source = 0;
task = g_task_new (self, NULL, sp_process_model_merge_cb, NULL);
+ g_task_set_priority (task, G_PRIORITY_LOW);
g_task_run_in_thread (task, sp_process_model_reload_worker);
return G_SOURCE_REMOVE;
@@ -248,6 +249,26 @@ sp_process_model_new (void)
}
void
+sp_process_model_reload (SpProcessModel *self)
+{
+ g_autoptr(GTask) task = NULL;
+
+ g_return_if_fail (SP_IS_PROCESS_MODEL (self));
+
+ if (self->reload_source != 0)
+ {
+ g_source_remove (self->reload_source);
+ self->reload_source = 0;
+ }
+
+ task = g_task_new (self, NULL, NULL, NULL);
+ g_task_set_priority (task, G_PRIORITY_LOW);
+ g_task_run_in_thread_sync (task, sp_process_model_reload_worker);
+
+ sp_process_model_merge_cb (G_OBJECT (self), G_ASYNC_RESULT (task), NULL);
+}
+
+void
sp_process_model_queue_reload (SpProcessModel *self)
{
g_return_if_fail (SP_IS_PROCESS_MODEL (self));
diff --git a/lib/util/sp-process-model.h b/lib/util/sp-process-model.h
index 8b16037..300ad90 100644
--- a/lib/util/sp-process-model.h
+++ b/lib/util/sp-process-model.h
@@ -28,6 +28,7 @@ G_BEGIN_DECLS
G_DECLARE_FINAL_TYPE (SpProcessModel, sp_process_model, SP, PROCESS_MODEL, GObject)
SpProcessModel *sp_process_model_new (void);
+void sp_process_model_reload (SpProcessModel *self);
void sp_process_model_queue_reload (SpProcessModel *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]