]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - src/ircd.c
s_log.* -> logger.* (s_foo looks ugly, lets try to get rid of it)
[irc/rqf/shadowircd.git] / src / ircd.c
index 5d6e284b570b5d65b2fa394cc1df63449e8fb44e..c8a466e970764e648f70605fe11d95aa341f2435 100644 (file)
@@ -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"
@@ -78,7 +78,7 @@ extern int ServerRunning;
 extern struct LocalUser meLocalUser;
 extern char **myargv;
 
-extern int maxconnections; /* XXX */
+int maxconnections; /* XXX */
 
 /*
  * print_startup - print startup information
@@ -154,6 +154,8 @@ init_sys(void)
                        exit(EXIT_FAILURE);
                }
        }
+
+       maxconnections = limit.rlim_cur;
 #endif /* RLIMIT_NOFILE */
 }
 
@@ -229,6 +231,7 @@ void
 set_time(void)
 {
        struct timeval newtime;
+
        newtime.tv_sec = 0;
        newtime.tv_usec = 0;
 #ifdef HAVE_GETTIMEOFDAY
@@ -244,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
@@ -279,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
  *
@@ -559,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();
@@ -673,7 +657,7 @@ main(int argc, char *argv[])
 
        print_startup(getpid());
 
-       charybdis_io_loop();
+       rb_lib_loop(250);
 
        return 0;
 }