1 #include "nit_common.h"
5 void * alloc(size_t s0
)
7 static char * alloc_pos
= NULL
;
8 static size_t alloc_size
= 0;
10 size_t s
= ((s0
+3)/4)*4;
12 alloc_size
= s
+ 1024*1024;
13 alloc_pos
= (char *)calloc(alloc_size
, 1);
25 void exithandler(int s
) {
26 fprintf(stderr
, "Recieved signal %d\n", s
);
29 void prepare_signals(void) {
30 signal(SIGINT
,exithandler
);
31 signal(SIGABRT
,exithandler
);
32 signal(SIGSEGV
,exithandler
);
33 signal(SIGILL
, exithandler
);
34 signal(SIGFPE
, exithandler
);
35 signal(SIGTERM
,exithandler
);
37 struct trace_t
*tracehead
= NULL
;
38 void nit_exit(int i
) {
39 fprintf(stderr
, ",---- Stack trace -- - - -\n");
40 while(tracehead
!= NULL
) {
41 fprintf(stderr
, "| %s\n",tracehead
->text
);
42 if (tracehead
== tracehead
->prev
) break;
43 tracehead
= tracehead
->prev
;
45 fprintf(stderr
, "`------------------- - - -\n");