aboutsummaryrefslogtreecommitdiff
path: root/stdlib/tst-makecontext.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-01-11 21:51:00 +0000
committerUlrich Drepper <drepper@redhat.com>2007-01-11 21:51:00 +0000
commitd6220e9ee38c1c9285221b023346201ec5f511b3 (patch)
treec524b0893dad62896e9c35dd8701cfdf7f5c8328 /stdlib/tst-makecontext.c
parent43b9d657408fbf47a47934f9e7c84ed87f7f5a18 (diff)
downloadglibc-d6220e9ee38c1c9285221b023346201ec5f511b3.zip
glibc-d6220e9ee38c1c9285221b023346201ec5f511b3.tar.gz
glibc-d6220e9ee38c1c9285221b023346201ec5f511b3.tar.bz2
Include errno.h. Change main() to do_test(). Define TEST_FUNCTION. Include test-skeleton.c. (do_test): Check errno and exit(0) if ENOSYS.
Diffstat (limited to 'stdlib/tst-makecontext.c')
-rw-r--r--stdlib/tst-makecontext.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/stdlib/tst-makecontext.c b/stdlib/tst-makecontext.c
index cbce71f..1451efa 100644
--- a/stdlib/tst-makecontext.c
+++ b/stdlib/tst-makecontext.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2006, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -16,6 +16,7 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#include <errno.h>
#include <stdlib.h>
#include <stdio.h>
#include <ucontext.h>
@@ -36,10 +37,16 @@ cf (int i)
}
int
-main (void)
+do_test (void)
{
if (getcontext (&ucp) != 0)
{
+ if (errno == ENOSYS)
+ {
+ puts ("context handling not supported");
+ return 0;
+ }
+
puts ("getcontext failed");
return 1;
}
@@ -47,7 +54,7 @@ main (void)
ucp.uc_link = NULL;
ucp.uc_stack.ss_sp = st1;
ucp.uc_stack.ss_size = sizeof st1;
- makecontext (&ucp, (void (*) ()) cf, 1, 78);
+ makecontext (&ucp, (void (*) (void)) cf, 1, 78);
if (setcontext (&ucp) != 0)
{
puts ("setcontext failed");
@@ -55,3 +62,6 @@ main (void)
}
return 2;
}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"