NGIRCd_SignalRestart = false;
NGIRCd_SignalQuit = false;
- /* Initialize modules, part I */
Log_Init(!NGIRCd_NoDaemon);
Random_Init();
Conf_Init();
Log_ReInit();
- /* Initialize the "main program": chroot environment, user and
- * group ID, ... */
+ /* Initialize the "main program":
+ * chroot environment, user and group ID, ... */
if (!NGIRCd_Init(NGIRCd_NoDaemon)) {
Log(LOG_ALERT, "Fatal: Initialization failed, exiting!");
exit(1);
}
- /* Initialize modules, part II: these functions are eventually
- * called with already dropped privileges ... */
- Channel_Init();
- Client_Init();
- Conn_Init();
- Class_Init();
-
if (!io_library_init(CONNECTION_POOL)) {
Log(LOG_ALERT,
"Fatal: Could not initialize IO routines: %s",
exit(1);
}
+ Channel_Init();
+ Conn_Init();
+ Class_Init();
+ Client_Init();
+
/* Create protocol and server identification. The syntax
* used by ngIRCd in PASS commands and the known "extended
* flags" are described in doc/Protocol.txt. */