summaryrefslogtreecommitdiffstats
path: root/shell/beispiele/fork_signal/signal.c
blob: 500d2e12269cc9e722cfb7854ed4cfbc1897d0a9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <signal.h>

void sig_handler(int signo) {
	const char msg[] = "Speicherzugriffsfehler!\n";
	write(2, msg, sizeof(msg) - 1);
	exit(-1);
}

int main(void) {
	if (signal(SIGSEGV, sig_handler) == SIG_ERR) {
		perror("signal");
		exit(-1);
	}
	
	int array[1] = {0};
	array[1000000] = 3;
	return 0;
}