1 /*	$OpenBSD: setjmp-signal.c,v 1.4 2017/07/27 12:31:09 bluhm Exp $	*/
2 /*
3  *	Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain.
4  */
5 
6 #include <setjmp.h>
7 #include <signal.h>
8 
9 jmp_buf jb;
10 
11 void
12 segv_handler(int signum)
13 {
14 	longjmp(jb, 1);
15 }
16 
17 int
18 main()
19 {
20 	signal(SIGSEGV, segv_handler);
21 	if (setjmp(jb) == 0) {
22 		*((volatile int *)0L) = 0;
23 		return (1);
24 	}
25 	return (0);
26 }
27