sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 1 | |
2 | #include <stdio.h> | ||||
njn25 | e49d8e7 | 2002-09-23 09:36:25 +0000 | [diff] [blame] | 3 | #include <stdlib.h> |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 4 | #include <signal.h> |
5 | |||||
6 | void sig_hdlr ( int signo ) | ||||
7 | { | ||||
8 | printf ( "caught sig segv\n" ); | ||||
9 | exit(1); | ||||
10 | } | ||||
11 | |||||
sewardj | 0ca2a6b | 2002-03-29 14:02:34 +0000 | [diff] [blame] | 12 | int main ( void ) |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 13 | { |
14 | printf ( "installing sig handler\n" ); | ||||
15 | signal(SIGSEGV, sig_hdlr); | ||||
16 | printf ( "doing bad thing\n" ); | ||||
sewardj | b48e500 | 2002-05-13 00:16:03 +0000 | [diff] [blame] | 17 | * (int*) 65536 = 0; |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 18 | printf ( "exited normally ?!\n" ); |
sewardj | 0ca2a6b | 2002-03-29 14:02:34 +0000 | [diff] [blame] | 19 | return 0; |
sewardj | de4a1d0 | 2002-03-22 01:27:54 +0000 | [diff] [blame] | 20 | } |