[glib/wip/desrt/gfilemonitor: 48/52] GPollFileMonitor: use thread default main context
- From: Ryan Lortie <desrt src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/wip/desrt/gfilemonitor: 48/52] GPollFileMonitor: use thread default main context
- Date: Tue, 10 Mar 2015 15:24:27 +0000 (UTC)
commit 5a9e844b53e183457ee1c8ff46de2c950fac54c3
Author: Ryan Lortie <desrt desrt ca>
Date: Fri Jan 16 16:41:21 2015 -0500
GPollFileMonitor: use thread default main context
Attach the GPollFileMonitor to the thread default main context instead
of the global default.
This matches the behaviour of the other file monitors.
gio/gpollfilemonitor.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
---
diff --git a/gio/gpollfilemonitor.c b/gio/gpollfilemonitor.c
index 10c2d86..bdc72e3 100644
--- a/gio/gpollfilemonitor.c
+++ b/gio/gpollfilemonitor.c
@@ -35,7 +35,7 @@ struct _GPollFileMonitor
GFileMonitor parent_instance;
GFile *file;
GFileInfo *last_info;
- guint timeout;
+ GSource *timeout;
};
#define POLL_TIME_SECS 5
@@ -171,8 +171,10 @@ poll_file_timeout (gpointer data)
static void
schedule_poll_timeout (GPollFileMonitor* poll_monitor)
{
- poll_monitor->timeout = g_timeout_add_seconds (POLL_TIME_SECS, poll_file_timeout, poll_monitor);
- }
+ poll_monitor->timeout = g_timeout_source_new_seconds (POLL_TIME_SECS);
+ g_source_set_callback (poll_monitor->timeout, poll_file_timeout, poll_monitor, NULL);
+ g_source_attach (poll_monitor->timeout, g_main_context_get_thread_default ());
+}
static void
got_initial_info (GObject *source_object,
@@ -222,8 +224,9 @@ g_poll_file_monitor_cancel (GFileMonitor* monitor)
if (poll_monitor->timeout)
{
- g_source_remove (poll_monitor->timeout);
- poll_monitor->timeout = 0;
+ g_source_destroy (poll_monitor->timeout);
+ g_source_unref (poll_monitor->timeout);
+ poll_monitor->timeout = NULL;
}
return TRUE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]