diff --git a/C_C++/signals.c b/C_C++/signals.c new file mode 100644 index 0000000..049347b --- /dev/null +++ b/C_C++/signals.c @@ -0,0 +1,26 @@ +// @BAKE gcc $@ -o $*.out -ggdb; ./$*.out +#include +#include + +void handler(int ignore) { + sleep(1); + puts("Handler."); + return; +} + +void f() { + puts("F-1 function."); + int i = *(int*)0x0; + puts("F-2 function."); +} + +void g() { + puts("G function."); +} + +main() { + signal(SIGSEGV, handler); + + f(); + g(); +}