summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-03-28 23:33:44 +0100
committerLudovic Courtès <ludo@gnu.org>2013-03-28 23:33:44 +0100
commit4702deb424633ad02c495c01d950b973c0ead8ea (patch)
tree64b72ad70440870db55d694f6210684bb3ec5bca
parent465ff50245e0f5deb26612ac7401b51c415deeb0 (diff)
downloadguile-4702deb424633ad02c495c01d950b973c0ead8ea.tar.gz
tests: Skip `test-pthread-create-secondary' except on Linux-based systems.
* test-suite/standalone/test-pthread-create-secondary.c: Skip on non-Linux-based systems.
-rw-r--r--test-suite/standalone/test-pthread-create-secondary.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/test-suite/standalone/test-pthread-create-secondary.c b/test-suite/standalone/test-pthread-create-secondary.c
index e145fa5bc..14ea240a4 100644
--- a/test-suite/standalone/test-pthread-create-secondary.c
+++ b/test-suite/standalone/test-pthread-create-secondary.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2011, 2013 Free Software Foundation, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
@@ -30,15 +30,20 @@
#include <gc/gc.h>
-/* Up to GC 7.2alpha5, calling `GC_INIT' from a secondary thread would
+/* Currently, calling `GC_INIT' from a secondary thread is only
+ supported on some systems, notably Linux-based systems (and not on
+ FreeBSD, for instance.)
+
+ Up to GC 7.2alpha5, calling `GC_INIT' from a secondary thread would
lead to a segfault. This was fixed in BDW-GC on 2011-04-16 by Ivan
Maidanski. See <http://thread.gmane.org/gmane.lisp.guile.bugs/5340>
for details. */
-#if (GC_VERSION_MAJOR > 7) \
- || ((GC_VERSION_MAJOR == 7) && (GC_VERSION_MINOR > 2)) \
- || ((GC_VERSION_MAJOR == 7) && (GC_VERSION_MINOR == 2) \
- && (GC_ALPHA_VERSION > 5))
+#if defined __linux__ \
+ && (GC_VERSION_MAJOR > 7 \
+ || (GC_VERSION_MAJOR == 7 && GC_VERSION_MINOR > 2) \
+ || (GC_VERSION_MAJOR == 7 && GC_VERSION_MINOR == 2 \
+ && GC_ALPHA_VERSION > 5))
static void *
do_something (void *arg)
@@ -73,7 +78,7 @@ main (int argc, char *argv[])
}
-#else /* GC < 7.2 */
+#else /* Linux && GC < 7.2alpha5 */
int
main (int argc, char *argv[])