]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Numerous changes to make this build..
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 25 Aug 2008 11:38:00 +0000 (11:38 +0000)
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>
Mon, 25 Aug 2008 11:38:00 +0000 (11:38 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10268 e03df62e-2008-0410-955e-edbf42e46eb7

include/socketengines/socketengine_poll.h
src/socketengines/socketengine_poll.cpp

index c3ef6c51ef9108e9dbc6e284781014ebf4cdd0da..4669ecfbac315a414f729801a96e5cfc47834df1 100644 (file)
@@ -24,6 +24,7 @@
         #define __USE_XOPEN /* fuck every fucking OS ever made. needed by poll.h to work.*/
 #endif
 #include <poll.h>
+#include <sys/poll.h>
 
 class InspIRCd;
 
index ddeb057d68314c9b58cfab217ed5ea1f435d6806..8a1ae6b9af3baf7198ba07cc4f59953eb71b0b4d 100644 (file)
@@ -14,6 +14,8 @@
 #include "inspircd.h"
 #include "exitcodes.h"
 #include "socketengines/socketengine_poll.h"
+#include <poll.h>
+#include <ulimit.h>
 
 PollEngine::PollEngine(InspIRCd* Instance) : SocketEngine(Instance)
 {
@@ -21,9 +23,9 @@ PollEngine::PollEngine(InspIRCd* Instance) : SocketEngine(Instance)
        CurrentSetSize = 0;
 
        ref = new EventHandler* [GetMaxFds()];
-       events = new struct epoll_event[GetMaxFds()];
+       events = new struct pollfd[GetMaxFds()];
 
-       memset(&events, 0, GetMaxFds() * sizeof(struct pollfds*));
+       memset(&events, 0, GetMaxFds() * sizeof(struct pollfd*));
 }
 
 PollEngine::~PollEngine()
@@ -55,24 +57,24 @@ bool PollEngine::AddFd(EventHandler* eh)
        }
 
        ref[fd] = eh;
-       events[fd]->fd = fd;
+       events[fd].fd = fd;
        if (eh->Readable())
        {
-               events[fd]->events = POLLIN;
+               events[fd].events = POLLIN;
        }
        else
        {
-               events[fd]->events = POLLOUT;
+               events[fd].events = POLLOUT;
        }
 
-       ServerInstance->Log(DEBUG,"New file descriptor: %d (%d)", fd, events[fd]->events);
+       ServerInstance->Logs->Log("SOCKET", DEBUG,"New file descriptor: %d (%d)", fd, events[fd].events);
        CurrentSetSize++;
        return true;
 }
 
 void PollEngine::WantWrite(EventHandler* eh)
 {
-       events[eh->GetFd()]->events = POLLIN | POLLOUT;
+       events[eh->GetFd()].events = POLLIN | POLLOUT;
 }
 
 bool PollEngine::DelFd(EventHandler* eh, bool force)
@@ -80,17 +82,17 @@ bool PollEngine::DelFd(EventHandler* eh, bool force)
        int fd = eh->GetFd();
        if ((fd < 0) || (fd > MAX_DESCRIPTORS))
        {
-               ServerInstance->Logs->Log("SOCKET",DEBUG,"DelFd out of range: (fd: %d, max: %d)", fd, GetMaxFds());
+               ServerInstance->Logs->Log("SOCKET", DEBUG, "DelFd out of range: (fd: %d, max: %d)", fd, GetMaxFds());
                return false;
        }
 
-       events[fd]->fd = -1;
-       events[fd]->events = 0;
+       events[fd].fd = -1;
+       events[fd].events = 0;
 
        CurrentSetSize--;
        ref[fd] = NULL;
 
-       ServerInstance->Log(DEBUG,"Remove file descriptor: %d", fd);
+       ServerInstance->Logs->Log("SOCKET", DEBUG, "Remove file descriptor: %d", fd);
        return true;
 }