blob: 9ab757316f453e8c47535bfbd066af62d8edbfdd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
extern int ghdl_main(int argc, void** argv);
void sigabrtHandler(int sig_num) {
// Reset handler to catch SIGABRT next time. Refer http://en.cppreference.com/w/c/program/signal
signal(SIGABRT, sigabrtHandler);
printf("SIGABRT caught %d!\n", sig_num);
fflush(stdout);
}
static void exit_handler(void) {
printf("This is the exit handler.\n");
}
int entry(int argc, void** argv) {
signal(SIGABRT, sigabrtHandler);
atexit(exit_handler);
printf("Hello entry!\n");
int ecode = ghdl_main(argc, argv);
printf("Bye entry <%d>!\n", ecode);
return ecode;
}
|