From 91b07b8c367faef73225074102fe13616789440a Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 17 May 2005 02:33:45 +0000 Subject: [PATCH] Epoll tweaks git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1409 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/inspircd.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 52f7b6479..ec47b9e16 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -36,7 +36,7 @@ using namespace std; #ifdef USE_EPOLL #include -#define EP_DELAY 10 +#define EP_DELAY 100 #endif #include @@ -2795,7 +2795,10 @@ int InspIRCd(char** argv, int argc) user_hash::iterator count2 = clientlist.begin(); #ifdef USE_EPOLL - i = epoll_wait(sep, event, 1, EP_DELAY); + i = epoll_wait(sep, event, 1, EP_DELAY*2); +#ifdef _POSIX_PRIORITY_SCHEDULING + sched_yield(); +#endif if (i > 0) { log(DEBUG,"epoll: Listening server socket event, i=%d, event.data.fd=%d",i,event[0].data.fd); @@ -3049,7 +3052,7 @@ int InspIRCd(char** argv, int argc) v = 0; #ifdef USE_EPOLL - int i = epoll_wait(ep, event, 1, EP_DELAY); + int i = epoll_wait(ep, event, 1, 5); if (i > 0) { log(DEBUG,"epoll_wait call: ep=%d, i=%d",ep,i); @@ -3296,7 +3299,13 @@ int InspIRCd(char** argv, int argc) { #endif #ifdef USE_EPOLL - i = epoll_wait(lep, event, 32, EP_DELAY); +#ifdef _POSIX_PRIORITY_SCHEDULING + sched_yield(); +#endif + i = epoll_wait(lep, event, 32, EP_DELAY*2); +#ifdef _POSIX_PRIORITY_SCHEDULING + sched_yield(); +#endif if (i > 0) for (j = 0; j < i; j++) { log(DEBUG,"epoll: Listening socket event, i=%d,events[j].data.fd=%d",i,event[j].data.fd); -- 2.39.2