X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsocketengines%2Fsocketengine_kqueue.cpp;h=8694a0bdd84d4cc2e5249aba5fa4d3f3ed6f5732;hb=4e24fb7c19cff866eda602349fbafce78b7e4c51;hp=63e16ac6e13038279433f8ea412fa6e6c69652b6;hpb=44f42a13de52c8025942ddab42f51feb36821782;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/socketengines/socketengine_kqueue.cpp b/src/socketengines/socketengine_kqueue.cpp index 63e16ac6e..8694a0bdd 100644 --- a/src/socketengines/socketengine_kqueue.cpp +++ b/src/socketengines/socketengine_kqueue.cpp @@ -25,8 +25,9 @@ #include #include #include "socketengine.h" +#include -/** A specialisation of the SocketEngine class, designed to use FreeBSD kqueue(). +/** A specialisation of the SocketEngine class, designed to use BSD kqueue(). */ class KQueueEngine : public SocketEngine { @@ -62,14 +63,18 @@ KQueueEngine::KQueueEngine() size_t len; mib[0] = CTL_KERN; +#ifdef KERN_MAXFILESPERPROC mib[1] = KERN_MAXFILESPERPROC; +#else + mib[1] = KERN_MAXFILES; +#endif len = sizeof(MAX_DESCRIPTORS); sysctl(mib, 2, &MAX_DESCRIPTORS, &len, NULL, 0); if (MAX_DESCRIPTORS <= 0) { ServerInstance->Logs->Log("SOCKET", DEFAULT, "ERROR: Can't determine maximum number of open sockets!"); - printf("ERROR: Can't determine maximum number of open sockets!\n"); - ServerInstance->Exit(EXIT_STATUS_SOCKETENGINE); + std::cout << "ERROR: Can't determine maximum number of open sockets!" << std::endl; + ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE); } this->RecoverFromFork(); @@ -90,9 +95,9 @@ void KQueueEngine::RecoverFromFork() { ServerInstance->Logs->Log("SOCKET",DEFAULT, "ERROR: Could not initialize socket engine. Your kernel probably does not have the proper features."); ServerInstance->Logs->Log("SOCKET",DEFAULT, "ERROR: this is a fatal error, exiting now."); - printf("ERROR: Could not initialize socket engine. Your kernel probably does not have the proper features.\n"); - printf("ERROR: this is a fatal error, exiting now.\n"); - ServerInstance->Exit(EXIT_STATUS_SOCKETENGINE); + std::cout << "ERROR: Could not initialize socket engine. Your kernel probably does not have the proper features." << std::endl; + std::cout << "ERROR: this is a fatal error, exiting now." << std::endl; + ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE); } CurrentSetSize = 0; }