+gboolean
+handler (GIOChannel *channel, GIOCondition cond, gpointer data)
+{
+ iksparser *parser = data;
+ iks_recv (parser, 0);
+ return TRUE;
+}
+
+void
+loop (iksparser *parser)
+{
+ GIOChannel *channel;
+ channel = g_io_channel_unix_new (iks_fd (parser));
+ g_io_add_watch (channel, G_IO_IN, handler, parser);
+ g_main_loop_run (g_main_loop_new (g_main_context_default (), TRUE));
+}
+