summaryrefslogtreecommitdiff
path: root/gthread
diff options
context:
space:
mode:
authorRyan Lortie <desrt@desrt.ca>2011-07-25 18:50:45 +0200
committerRyan Lortie <desrt@desrt.ca>2011-07-25 18:51:03 +0200
commitc81eb121a1a29c7068b775d0f7665d05c0dd4dad (patch)
tree51e5bed6cd85b1d0179262d664b83be234e6b844 /gthread
parent0584f0c50495e4c1d6691f30d9f598799a5d54ce (diff)
downloadglib-c81eb121a1a29c7068b775d0f7665d05c0dd4dad.tar.gz
GWakeup: make it private API
Colin requests that we keep this one private for now. Include it at each point of use (libglib, libgio, tests).
Diffstat (limited to 'gthread')
-rw-r--r--gthread/tests/Makefile.am3
-rw-r--r--gthread/tests/gwakeuptest.c (renamed from gthread/tests/gwakeup.c)43
2 files changed, 10 insertions, 36 deletions
diff --git a/gthread/tests/Makefile.am b/gthread/tests/Makefile.am
index cc60d0f69..121ac5338 100644
--- a/gthread/tests/Makefile.am
+++ b/gthread/tests/Makefile.am
@@ -45,11 +45,12 @@ spawn_singlethread_SOURCES = spawn-singlethread.c
spawn_singlethread_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
TEST_PROGS += gwakeup
+gwakeup_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
gwakeup_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
if HAVE_EVENTFD
TEST_PROGS += gwakeup-fallback
-gwakeup_fallback_SOURCES = gwakeup.c
+gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
gwakeup_fallback_LDADD = $(progs_ldadd) $(top_builddir)/gthread/libgthread-2.0.la
endif
diff --git a/gthread/tests/gwakeup.c b/gthread/tests/gwakeuptest.c
index f1545d875..4b11f1730 100644
--- a/gthread/tests/gwakeup.c
+++ b/gthread/tests/gwakeuptest.c
@@ -1,31 +1,6 @@
#include <unistd.h>
#include <glib.h>
-
-#ifdef TEST_EVENTFD_FALLBACK
- #include <errno.h>
-
- static gboolean we_broke_eventfd;
-
- /* We interpose over the eventfd() call in the libc to ensure that a
- * failed call to eventfd() gives us a working fallback.
- *
- * We need to do this because older kernel versions don't have eventfd
- * support, and some of them have eventfd but without support for some
- * of the flags we use.
- *
- * We use the we_broke_eventfd boolean to make sure that it actually
- * worked.
- */
- int eventfd (void) {
- we_broke_eventfd = TRUE;
- errno = EINVAL;
-
- return -1;
- }
- #define TESTNAME_SUFFIX "-fallback"
-#else
- #define TESTNAME_SUFFIX ""
-#endif
+#include <glib/gwakeup.h>
#ifdef _WIN32
void alarm (int sec) { }
@@ -58,18 +33,9 @@ test_semantics (void)
/* prevent the test from deadlocking */
alarm (30);
-#ifdef TEST_EVENTFD_FALLBACK
- we_broke_eventfd = FALSE;
-#endif
-
wakeup = g_wakeup_new ();
g_assert (!check_signaled (wakeup));
-#ifdef TEST_EVENTFD_FALLBACK
- /* make sure our interposed eventfd call worked */
- g_assert (we_broke_eventfd);
-#endif
-
g_wakeup_signal (wakeup);
g_assert (check_signaled (wakeup));
@@ -296,6 +262,13 @@ main (int argc, char **argv)
g_test_init (&argc, &argv, NULL);
+#ifdef TEST_EVENTFD_FALLBACK
+#define TESTNAME_SUFFIX "-fallback"
+#else
+#define TESTNAME_SUFFIX
+#endif
+
+
g_test_add_func ("/gwakeup/semantics" TESTNAME_SUFFIX, test_semantics);
g_test_add_func ("/gwakeup/threaded" TESTNAME_SUFFIX, test_threaded);