summaryrefslogtreecommitdiff
path: root/src/regress/lib
diff options
context:
space:
mode:
authorart <>2002-07-31 05:18:24 +0000
committerart <>2002-07-31 05:18:24 +0000
commitd2a5c6a68e5db94f61677dbae6b27fb536b4c1e5 (patch)
tree0e11a8983b791a388b1c177b2901bfe6e066fba9 /src/regress/lib
parentb16c13ed2fd774b1e93a0165b809fda9376b3fc4 (diff)
downloadopenbsd-d2a5c6a68e5db94f61677dbae6b27fb536b4c1e5.tar.gz
openbsd-d2a5c6a68e5db94f61677dbae6b27fb536b4c1e5.tar.bz2
openbsd-d2a5c6a68e5db94f61677dbae6b27fb536b4c1e5.zip
Test that longjmp from signals works. (it does)
Diffstat (limited to 'src/regress/lib')
-rw-r--r--src/regress/lib/libc/setjmp-signal/Makefile5
-rw-r--r--src/regress/lib/libc/setjmp-signal/setjmp-signal.c26
2 files changed, 31 insertions, 0 deletions
diff --git a/src/regress/lib/libc/setjmp-signal/Makefile b/src/regress/lib/libc/setjmp-signal/Makefile
new file mode 100644
index 0000000000..a9649a8abe
--- /dev/null
+++ b/src/regress/lib/libc/setjmp-signal/Makefile
@@ -0,0 +1,5 @@
1# $OpenBSD: Makefile,v 1.1 2002/07/31 05:18:24 art Exp $
2
3PROG= setjmp-signal
4
5.include <bsd.regress.mk>
diff --git a/src/regress/lib/libc/setjmp-signal/setjmp-signal.c b/src/regress/lib/libc/setjmp-signal/setjmp-signal.c
new file mode 100644
index 0000000000..c44f657cda
--- /dev/null
+++ b/src/regress/lib/libc/setjmp-signal/setjmp-signal.c
@@ -0,0 +1,26 @@
1/* $OpenBSD: setjmp-signal.c,v 1.1 2002/07/31 05:18:24 art Exp $ */
2/*
3 * Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain.
4 */
5
6#include <setjmp.h>
7#include <signal.h>
8
9jmp_buf jb;
10
11void
12segv_handler(int signum)
13{
14 longjmp(jb, 1);
15}
16
17int
18main()
19{
20 signal(SIGSEGV, segv_handler);
21 if (setjmp(jb) == 0) {
22 *((int *)0) = 0;
23 return (1);
24 }
25 return (0);
26}