1 // default-signal.h - Catch runtime signals and turn them into exceptions. 2 3 /* Copyright (C) 1998, 1999, 2000 Free Software Foundation 4 5 This file is part of libgcj. 6 7 This software is copyrighted work licensed under the terms of the 8 Libgcj License. Please consult the file "LIBGCJ_LICENSE" for 9 details. */ 10 11 #ifndef JAVA_SIGNAL_H 12 #define JAVA_SIGNAL_H 1 13 14 #ifdef SJLJ_EXCEPTIONS 15 16 #define HANDLE_SEGV 1 17 #define HANDLE_FPE 1 18 19 #include <signal.h> 20 21 #define SIGNAL_HANDLER(_name) \ 22 static void _name (int _dummy) 23 24 #define INIT_SEGV \ 25 do \ 26 { \ 27 signal (SIGSEGV, catch_segv); \ 28 } \ 29 while (0) 30 31 #define INIT_FPE \ 32 do \ 33 { \ 34 signal (SIGFPE, catch_fpe); \ 35 } \ 36 while (0) 37 38 #define MAKE_THROW_FRAME(_exception) do {} while (0) 39 40 #else /* SJLJ_EXCEPTIONS */ 41 42 #undef HANDLE_SEGV 43 #undef HANDLE_FPE 44 45 #define INIT_SEGV do {} while (0) 46 #define INIT_FPE do {} while (0) 47 48 #endif /* SJLJ_EXCEPTIONS */ 49 50 #endif /* JAVA_SIGNAL_H */ 51 52