123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- /* aix-signal.h - Catch runtime signals and turn them into exceptions,
- on a AIX system. */
- /* Copyright (C) 2008, 2011 Free Software Foundation
- This file is part of libgcj.
- This software is copyrighted work licensed under the terms of the
- Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
- details. */
- /* This file is really more of a specification. The rest of the system
- should be arranged so that this Just Works. */
- #ifndef JAVA_SIGNAL_H
- # define JAVA_SIGNAL_H 1
- #include <sys/types.h>
- #include <sys/signal.h>
- typedef void (* SIG_PF)(int);
- # define HANDLE_SEGV 1
- # undef HANDLE_FPE
- # define SIGNAL_HANDLER(_name) \
- static void _name (int _dummy __attribute__ ((unused)))
- # define MAKE_THROW_FRAME(_exception)
- # define INIT_SEGV \
- do { \
- struct sigaction sa; \
- sa.sa_handler = catch_segv; \
- sigemptyset (&sa.sa_mask); \
- sa.sa_flags = SA_NODEFER; \
- sigaction (SIGBUS, &sa, NULL); \
- sigaction (SIGSEGV, &sa, NULL); \
- } while (0)
- # define INIT_FPE \
- do { \
- struct sigaction sa; \
- sa.sa_handler = catch_fpe; \
- sigemptyset (&sa.sa_mask); \
- sa.sa_flags = SA_NODEFER; \
- sigaction (SIGFPE, &sa, NULL); \
- } while (0)
- #endif /* JAVA_SIGNAL_H */
|