using namespace std;
-#include "inspircd_config.h"
#include "configreader.h"
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/errno.h>
-#include <sys/ioctl.h>
-#include <sys/utsname.h>
-#include <time.h>
-#include <string>
-#include <ext/hash_map>
-#include <map>
-#include <sstream>
-#include <vector>
-#include <deque>
#include "users.h"
-#include "ctables.h"
-#include "globals.h"
#include "modules.h"
-#include "dynamic.h"
#include "wildcard.h"
-#include "mode.h"
-#include "commands.h"
#include "xline.h"
-#include "inspstring.h"
-
-#include "hashcomp.h"
#include "socketengine.h"
#include "userprocess.h"
#include "inspircd.h"
-#include "typedefs.h"
#include "command_parse.h"
#include "cull_list.h"
}
}
-void InspIRCd::DoSocketTimeouts(time_t TIME)
-{
- unsigned int numsockets = this->module_sockets.size();
-
- for (std::vector<InspSocket*>::iterator a = this->module_sockets.begin(); a < this->module_sockets.end(); a++)
- {
- InspSocket* s = *a;
- int fd = s->GetFd();
- if ((s) && (fd >= 0) && (fd < MAX_DESCRIPTORS) && (this->SE->GetRef(fd) == s) && (s->Timeout(TIME)))
- {
- this->Log(DEBUG,"userprocess.cpp: Socket poll returned false, close and bail");
- SE->DelFd(s);
- this->module_sockets.erase(a);
- s->Close();
- DELETE(s);
- break;
- }
-
- if (this->module_sockets.size() != numsockets)
- break;
- }
-}
-
/**
* This function is called once a second from the mainloop.
* It is intended to do background checking on all the user structs, e.g.