]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Minor code tweaks, tidyups
[user/henk/code/inspircd.git] / src / inspircd.cpp
index 4f323c2cbf026e290f73b73c52a63e16db013271..874f9b9ff9f3697bfa137b8e7b9f1bf3e46920a0 100644 (file)
@@ -41,6 +41,8 @@ using namespace std;
 #include <errno.h>
 #include <deque>
 #include <errno.h>
+#include <unistd.h>
+#include <sched.h>
 #include "connection.h"
 #include "users.h"
 #include "servers.h"
@@ -5842,7 +5844,7 @@ void process_command(userrec *user, char* cmd)
                {
                        if (((command[x] < '0') || (command[x]> '9')) && (command[x] != '-'))
                        {
-                               if (strchr("@!\"$%^&*(){}[]_-=+;:'#~,.<>/?\\|`",command[x]))
+                               if (!strchr("@!\"$%^&*(){}[]_-=+;:'#~,.<>/?\\|`",command[x]))
                                {
                                        kill_link(user,"Protocol violation (3)");
                                        return;
@@ -7277,6 +7279,9 @@ int InspIRCd(void)
        /* main loop, this never returns */
        for (;;)
        {
+#ifdef _POSIX_PRIORITY_SCHEDULING
+               sched_yield();
+#endif
 
                fd_set sfd;
                timeval tval;
@@ -7286,7 +7291,7 @@ int InspIRCd(void)
 
                // *FIX* Instead of closing sockets in kill_link when they receive the ERROR :blah line, we should queue
                // them in a list, then reap the list every second or so.
-               if (reap_counter>2500)
+               if (reap_counter>300)
                {
                        if (fd_reap.size() > 0)
                        {
@@ -7434,6 +7439,11 @@ int InspIRCd(void)
                        //if (selectResult2 > 0)
                        for (user_hash::iterator count2a = xcount; count2a != endingiter; count2a++)
                        {
+
+#ifdef _POSIX_PRIORITY_SCHEDULING
+                               sched_yield();
+#endif
+
                                result = EAGAIN;
                                if ((count2a->second->fd != -1) && (FD_ISSET (count2a->second->fd, &sfd)))
                                {