]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengines/socketengine_poll.cpp
Merge branch 'master+tlsversion'
[user/henk/code/inspircd.git] / src / socketengines / socketengine_poll.cpp
index ac5e02cfd1f1067e2d333adfee698ab7a5857120..dc63fe0edc9032a660d8ab5e51c4493d09067d97 100644 (file)
  */
 
 
-#include <iostream>
-#include <vector>
-#include <string>
-#include <map>
 #include "exitcodes.h"
 #include "inspircd.h"
-#include "socketengine.h"
-
-#ifndef _WIN32
-# ifndef __USE_XOPEN
-#  define __USE_XOPEN /* fuck every fucking OS ever made. needed by poll.h to work.*/
-# endif
-# include <poll.h>
-# include <sys/poll.h>
-# include <sys/resource.h>
-#else
-# define struct pollfd WSAPOLLFD
-# define poll WSAPoll
-#endif
+
+#include <sys/poll.h>
+#include <sys/resource.h>
 
 /** A specialisation of the SocketEngine class, designed to use poll().
  */
@@ -62,9 +48,8 @@ void SocketEngine::Init()
        }
        else
        {
-               ServerInstance->Logs->Log("SOCKET", LOG_DEFAULT, "ERROR: Can't determine maximum number of open sockets: %s", strerror(errno));
-               std::cout << "ERROR: Can't determine maximum number of open sockets: " << strerror(errno) << std::endl;
-               ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE);
+               // MAX_DESCRIPTORS is mainly used for display purposes, it's not a problem that getrlimit() failed
+               MAX_DESCRIPTORS = -1;
        }
 }
 
@@ -89,9 +74,9 @@ static int mask_to_poll(int event_mask)
 bool SocketEngine::AddFd(EventHandler* eh, int event_mask)
 {
        int fd = eh->GetFd();
-       if ((fd < 0) || (fd > GetMaxFds() - 1))
+       if (fd < 0)
        {
-               ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "AddFd out of range: (fd: %d, max: %d)", fd, GetMaxFds());
+               ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "AddFd out of range: (fd: %d)", fd);
                return false;
        }
 
@@ -137,9 +122,9 @@ void SocketEngine::OnSetEvent(EventHandler* eh, int old_mask, int new_mask)
 void SocketEngine::DelFd(EventHandler* eh)
 {
        int fd = eh->GetFd();
-       if ((fd < 0) || (fd > MAX_DESCRIPTORS))
+       if (fd < 0)
        {
-               ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "DelFd out of range: (fd: %d, max: %d)", fd, GetMaxFds());
+               ServerInstance->Logs->Log("SOCKET", LOG_DEBUG, "DelFd out of range: (fd: %d)", fd);
                return;
        }