aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2012-07-17 10:05:55 +0200
committerThomas Schwinge <thomas@codesourcery.com>2012-07-17 10:05:55 +0200
commitdc97c227c95dd521594f1eaa472399b9fba03b2a (patch)
treef2bc659c7c01a07c39d2b28dee3a8c0744926ffd
parentaaf5420c6d1d2f0135a89d08f22200f0dc0777bd (diff)
downloadglibc-dc97c227c95dd521594f1eaa472399b9fba03b2a.zip
glibc-dc97c227c95dd521594f1eaa472399b9fba03b2a.tar.gz
glibc-dc97c227c95dd521594f1eaa472399b9fba03b2a.tar.bz2
setcontext: Clarify termination when uc_link is the null pointer.
-rw-r--r--ChangeLog8
-rw-r--r--manual/setjmp.texi3
-rw-r--r--stdlib/tst-makecontext.c4
3 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f6c1cc5..fce4617 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-07-17 Thomas Schwinge <thomas@codesourcery.com>
+ Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * manual/setjmp.texi (setcontext): Clarify normal process
+ termination when uc_link is the null pointer.
+ * stdlib/tst-makecontext.c (cf): Exercise this: remove explicit
+ exit call.
+
2012-07-16 Andreas Schwab <schwab@linux-m68k.org>
* stdlib/bug-getcontext.c (do_test): Don't test FE_ALL_EXCEPT in
diff --git a/manual/setjmp.texi b/manual/setjmp.texi
index a5a7ce6..f13ac7b 100644
--- a/manual/setjmp.texi
+++ b/manual/setjmp.texi
@@ -354,7 +354,8 @@ specified parameters passed. If this function returns execution is
resumed in the context which was referenced by the @code{uc_link}
element of the context structure passed to @code{makecontext} at the
time of the call. If @code{uc_link} was a null pointer the application
-terminates in this case.
+terminates normally with an exit status value of @code{EXIT_SUCCESS}
+(@pxref{Program Termination}).
Since the context contains information about the stack no two threads
should use the same context at the same time. The result in most cases
diff --git a/stdlib/tst-makecontext.c b/stdlib/tst-makecontext.c
index 3185900..eb6e89b 100644
--- a/stdlib/tst-makecontext.c
+++ b/stdlib/tst-makecontext.c
@@ -35,7 +35,9 @@ cf (int i)
printf ("i %d thr %d\n", i, thr);
exit (1);
}
- exit (0);
+
+ /* Since uc_link below has been set to NULL, setcontext is supposed to
+ terminate the process normally after this function returns. */
}
int