summaryrefslogtreecommitdiff
blob: 5ceea2fc576afdc3de699f163f56aa2727dde969 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
diff --git a/lib/events.h b/lib/events.h
index 1b5b41b7..b4b6110e 100644
--- a/lib/events.h
+++ b/lib/events.h
@@ -69,6 +69,8 @@ G_MODULE_EXPORT void b_main_init();
 G_MODULE_EXPORT void b_main_run();
 G_MODULE_EXPORT void b_main_quit();
 
+G_MODULE_EXPORT void b_main_iteration();
+
 
 /* Add event handlers (for I/O or a timeout). The event handler will be called
    every time the event "happens", until your event handler returns FALSE (or
diff --git a/lib/events_glib.c b/lib/events_glib.c
index dca704e1..da73f3ae 100644
--- a/lib/events_glib.c
+++ b/lib/events_glib.c
@@ -64,6 +64,12 @@ void b_main_quit()
 	g_main_quit(loop);
 }
 
+void b_main_iteration()
+{
+	g_main_iteration(FALSE);
+	event_debug("b_main_iteration()\n");
+}
+
 static gboolean gaim_io_invoke(GIOChannel *source, GIOCondition condition, gpointer data)
 {
 	GaimIOClosure *closure = data;
diff --git a/lib/events_libevent.c b/lib/events_libevent.c
index 854af010..05391afa 100644
--- a/lib/events_libevent.c
+++ b/lib/events_libevent.c
@@ -113,6 +113,12 @@ void b_main_quit()
 	b_main_restart();
 }
 
+void b_main_iteration()
+{
+	event_base_loop(leh, EVLOOP_NONBLOCK);
+	event_debug("b_main_iteration()\n");
+}
+
 static void b_event_passthrough(int fd, short event, void *data)
 {
 	struct b_event_data *b_ev = data;
diff --git a/tests/check_irc.c b/tests/check_irc.c
index e2054106..db3137f3 100644
--- a/tests/check_irc.c
+++ b/tests/check_irc.c
@@ -5,6 +5,7 @@
 #include <string.h>
 #include <stdio.h>
 #include "irc.h"
+#include "events.h"
 #include "testsuite.h"
 
 START_TEST(test_connect)
@@ -42,7 +43,7 @@ START_TEST(test_login)
                 "USER a a a a\n", -1, NULL, NULL) == G_IO_STATUS_NORMAL);
     fail_unless(g_io_channel_flush(ch2, NULL) == G_IO_STATUS_NORMAL);
 
-    g_main_iteration(FALSE);
+    b_main_iteration();
     irc_free(irc);
 
     fail_unless(g_io_channel_read_to_end(ch2, &raw, NULL, NULL) == G_IO_STATUS_NORMAL);
-- 
2.26.2