]>
jfr.im git - irc/quakenet/newserv.git/blob - core/main.c
1 #include "../lib/sstring.h"
16 int newserv_shutdown_pending
;
17 int newserv_sigusr1_pending
;
21 void siginthandler(int sig
);
22 void sigusr1handler(int sig
);
23 void sigsegvhandler(int sig
);
24 void handlecore(void);
26 static void (*oldsegv
)(int);
28 int main(int argc
, char **argv
) {
41 initconfig("newserv.conf");
44 /* Loading the modules will bring in the bulk of the code */
46 signal(SIGINT
, siginthandler
);
47 signal(SIGUSR1
, sigusr1handler
);
48 oldsegv
= signal(SIGSEGV
, sigsegvhandler
);
53 doscheduledevents(time(NULL
));
54 if (newserv_shutdown_pending
) {
59 if (newserv_sigusr1_pending
) {
60 signal(SIGUSR1
, sigusr1handler
);
61 triggerhook(HOOK_CORE_SIGUSR1
, NULL
);
62 newserv_sigusr1_pending
=0;
73 * seed the pseudo-random number generator, rand()
78 gettimeofday(&t
, NULL
);
82 void siginthandler(int sig
) {
83 newserv_shutdown_pending
= 1;
86 void sigusr1handler(int sig
) {
87 newserv_sigusr1_pending
= 1;
90 void sigsegvhandler(int sig
) {