From 0c0400b6fc10219ca545a25643ceabe576d5181b Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 20 Sep 2011 21:26:59 +0200
Subject: [PATCH] io_thread: add function _timeout_add()

Same as _timeout_add_seconds(), but this one has millisecond
resolution.
---
 src/io_thread.c | 9 +++++++++
 src/io_thread.h | 4 ++++
 2 files changed, 13 insertions(+)

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,