]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/socketengine.cpp
Missing a changeover
[user/henk/code/inspircd.git] / src / socketengine.cpp
index b7676e2c2a8f1f1669e79325bedb159789c9d370..3df9c213512edcbb88e782a27b9154d27a37d836 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  Inspire is copyright (C) 2002-2006 ChatSpike-Dev.
+ *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
  *                       E-mail:
  *                <brain@chatspike.net>
  *                <Craig@chatspike.net>
@@ -86,8 +86,9 @@ bool SocketEngine::AddFd(int fd, bool readable, char type)
        log(DEBUG,"Add socket %d",fd);
 #ifdef USE_EPOLL
        struct epoll_event ev;
+       memset(&ev,0,sizeof(struct epoll_event));
        log(DEBUG,"epoll: Add socket to events, ep=%d socket=%d",EngineHandle,fd);
-       readable ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
+       readable ? ev.events = EPOLLIN : ev.events = EPOLLOUT;
        ev.data.fd = fd;
        int i = epoll_ctl(EngineHandle, EPOLL_CTL_ADD, fd, &ev);
        if (i < 0)
@@ -138,7 +139,8 @@ bool SocketEngine::DelFd(int fd)
 #endif
 #ifdef USE_EPOLL
        struct epoll_event ev;
-       ref[fd] && X_READBIT ? ev.events = EPOLLIN | EPOLLET : ev.events = EPOLLOUT | EPOLLET;
+       memset(&ev,0,sizeof(struct epoll_event));
+       ref[fd] && X_READBIT ? ev.events = EPOLLIN : ev.events = EPOLLOUT;
        ev.data.fd = fd;
        int i = epoll_ctl(EngineHandle, EPOLL_CTL_DEL, fd, &ev);
        if (i < 0)
@@ -199,7 +201,7 @@ int SocketEngine::Wait(int* fdlist)
                
        }
        tval.tv_sec = 0;
-       tval.tv_usec = 100L;
+       tval.tv_usec = 50L;
        sresult = select(FD_SETSIZE, &rfdset, &wfdset, NULL, &tval);
        if (sresult > 0)
        {
@@ -211,14 +213,14 @@ int SocketEngine::Wait(int* fdlist)
        }
 #endif
 #ifdef USE_KQUEUE
-       ts.tv_nsec = 10000L;
+       ts.tv_nsec = 5000L;
        ts.tv_sec = 0;
        int i = kevent(EngineHandle, NULL, 0, &ke_list[0], MAX_DESCRIPTORS, &ts);
        for (int j = 0; j < i; j++)
                fdlist[result++] = ke_list[j].ident;
 #endif
 #ifdef USE_EPOLL
-       int i = epoll_wait(EngineHandle, events, MAX_DESCRIPTORS, 100);
+       int i = epoll_wait(EngineHandle, events, MAX_DESCRIPTORS, 50);
        for (int j = 0; j < i; j++)
                fdlist[result++] = events[j].data.fd;
 #endif