X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/8750c6e6b75203c587d0b318250ea08b24df92a8..d3455e2c7e2f9040e1b7628d9cf52b26a24dcefc:/src/ircd.c diff --git a/src/ircd.c b/src/ircd.c index e3c2cb9..c8a466e 100644 --- a/src/ircd.c +++ b/src/ircd.c @@ -46,7 +46,7 @@ #include "restart.h" #include "s_auth.h" #include "s_conf.h" -#include "s_log.h" +#include "logger.h" #include "s_serv.h" /* try_connections */ #include "s_user.h" #include "s_stats.h" @@ -79,9 +79,6 @@ extern struct LocalUser meLocalUser; extern char **myargv; int maxconnections; /* XXX */ -int ssl_ok = 0; - -struct ServerStatistics ServerStats; /* * print_startup - print startup information @@ -157,6 +154,8 @@ init_sys(void) exit(EXIT_FAILURE); } } + + maxconnections = limit.rlim_cur; #endif /* RLIMIT_NOFILE */ } @@ -232,6 +231,7 @@ void set_time(void) { struct timeval newtime; + newtime.tv_sec = 0; newtime.tv_usec = 0; #ifdef HAVE_GETTIMEOFDAY @@ -247,11 +247,11 @@ set_time(void) newtime.tv_sec = time(NULL); #endif - if(newtime.tv_sec < rb_current_time()) - rb_set_back_events(rb_current_time() - newtime.tv_sec); SystemTime.tv_sec = newtime.tv_sec; SystemTime.tv_usec = newtime.tv_usec; + + rb_set_time(); } static void @@ -282,26 +282,6 @@ check_rehash(void *unused) } } -void -charybdis_io_loop(void) -{ - time_t delay; - - while (ServerRunning) - { - /* Run pending events, then get the number of seconds to the next - * event - */ - - delay = rb_event_next(); - if(delay <= rb_current_time()) - rb_event_run(); - - - rb_select(250); - } -} - /* * initalialize_global_set_options * @@ -502,7 +482,6 @@ main(int argc, char *argv[]) memset((void *) &Count, 0, sizeof(Count)); memset((void *) &ServerInfo, 0, sizeof(ServerInfo)); memset((void *) &AdminInfo, 0, sizeof(AdminInfo)); - memset(&ServerStats, 0, sizeof(struct ServerStatistics)); /* Initialise the channel capability usage counts... */ init_chcap_usage_counts(); @@ -563,6 +542,7 @@ main(int argc, char *argv[]) /* Init the event subsystem */ init_sys(); rb_lib_init(ircd_log_cb, ircd_restart_cb, ircd_die_cb, !server_state_foreground, maxconnections, DNODE_HEAP_SIZE, FD_HEAP_SIZE); + rb_linebuf_init(LINEBUF_HEAP_SIZE); init_main_logfile(); newconf_init(); @@ -578,6 +558,7 @@ main(int argc, char *argv[]) init_channels(); initclass(); initwhowas(); + init_stats(); init_reject(); init_cache(); init_monitor(); @@ -676,7 +657,7 @@ main(int argc, char *argv[]) print_startup(getpid()); - charybdis_io_loop(); + rb_lib_loop(250); return 0; }