int main(int argc,char **argv) { int next; do_socket(); #ifdef _WIN32 atexit(sig_proc); #else signal(SIGPIPE,SIG_IGN); signal(SIGTERM,sig_proc); signal(SIGINT,sig_proc); #endif do_init(argc,argv); if (packet_parse_time > 0) { add_timer_func_list(parsepacket_timer,"parsepacket_timer"); add_timer_interval(gettick()+packet_parse_time,parsepacket_timer,0,0,packet_parse_time); while(1){ next=do_timer(gettick_nocache()); do_sendrecv(next); } } else { while(1){ next=do_timer(gettick_nocache()); do_sendrecv(next); do_parsepacket(); } } return 0; }
int main (int argc, char **argv) { int next; // initialise program arguments { char *p = SERVER_NAME = argv[0]; while ((p = strchr(p, '/')) != NULL) SERVER_NAME = ++p; arg_c = argc; arg_v = argv; } set_server_type(); display_title(); usercheck(); malloc_init(); /* 一番最初に実行する必要がある */ db_init(); signals_init(); timer_init(); socket_init(); plugins_init(); do_init(argc,argv); graph_init(); plugin_event_trigger("Athena_Init"); while (runflag) { next = do_timer(gettick_nocache()); do_sendrecv(next); #ifndef TURBO do_parsepacket(); #endif } plugin_event_trigger("Athena_Final"); graph_final(); do_final(); timer_final(); plugins_final(); socket_final(); db_final(); malloc_final(); return 0; }
int main(int argc,char **argv) { int next; do_socket(); signal(SIGPIPE,SIG_IGN); signal(SIGTERM,sig_proc); signal(SIGINT,sig_proc); do_init(argc,argv); while(1){ next=do_timer(gettick_nocache()); do_sendrecv(next); do_parsepacket(); } return 0; }