diff --git a/src/io_thread.c b/src/io_thread.c index 501cfe50a..ffa513d49 100644 --- a/src/io_thread.c +++ b/src/io_thread.c @@ -123,6 +123,15 @@ io_thread_idle_add(GSourceFunc function, gpointer data) return id; } +GSource * +io_thread_timeout_add(guint interval_ms, GSourceFunc function, gpointer data) +{ + GSource *source = g_timeout_source_new(interval_ms); + g_source_set_callback(source, function, data, NULL); + g_source_attach(source, io.context); + return source; +} + GSource * io_thread_timeout_add_seconds(guint interval, GSourceFunc function, gpointer data) diff --git a/src/io_thread.h b/src/io_thread.h index d1a203aa3..8ff5a71e5 100644 --- a/src/io_thread.h +++ b/src/io_thread.h @@ -62,6 +62,10 @@ io_thread_inside(void); guint io_thread_idle_add(GSourceFunc function, gpointer data); +G_GNUC_MALLOC +GSource * +io_thread_timeout_add(guint interval_ms, GSourceFunc function, gpointer data); + G_GNUC_MALLOC GSource * io_thread_timeout_add_seconds(guint interval,