28static volatile bool caught_signal =
false;
33static volatile bool caught_alarm =
false;
34static volatile bool alarm_set =
false;
35static int alarm_time = -1;
47#define SIGNAL(SIG) static void (*SIG##_handler) (int);
53static void (*SIGALRM_handler) (int);
58 (void) signal (SIGALRM, SIGALRM_handler);
70 (void) signal (SIG, SIG##_handler); \
77 caught_signal =
false;
99static void catch_signal (
int sig) {
105 signal_handler->catch_alarm ();
111 if (!caught_signal) {
112 caught_signal =
true;
114 signal_handler->catch_signal (sig);
123#define SIGNAL(SIG) SIG##_handler = signal (SIG, catch_signal);
134 SIGALRM_handler = signal (SIGALRM, catch_signal);
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
#define CADICAL_assert(ignore)
virtual void catch_alarm()
virtual void catch_signal(int sig)=0
static const char * name(int sig)
static void alarm(int seconds)
static void set(Handler *)
static void reset_alarm()
double absolute_real_time()