}
/* Close all client sockets, or the new process inherits them */
- for (std::vector<userrec*>::const_iterator i = this->local_users.begin(); i != this->local_users.end(); i++)
+ for (std::vector<User*>::const_iterator i = this->local_users.begin(); i != this->local_users.end(); i++)
{
(*i)->SetWriteError("Server shutdown");
(*i)->CloseSocket();
this->SNO = new SnomaskManager(this);
this->TIME = this->OLDTIME = this->startup_time = time(NULL);
this->time_delta = 0;
- this->next_call = this->TIME + 3;
srand(this->TIME);
*this->LogFileName = 0;
this->InitialiseUID();
/* set up fake client */
- this->FakeClient = new userrec(this);
+ this->FakeClient = new User(this);
this->FakeClient->SetFd(FD_MAGIC_NUMBER);
if (!do_root)
if (TIME != OLDTIME)
{
if (TIME < OLDTIME)
+ {
WriteOpers("*** \002EH?!\002 -- Time is flowing BACKWARDS in this dimension! Clock drifted backwards %d secs.",abs(OLDTIME-TIME));
+ }
+
if ((TIME % 3600) == 0)
{
this->RehashUsersAndChans();
FOREACH_MOD_I(this, I_OnGarbageCollect, OnGarbageCollect());
}
+
Timers->TickTimers(TIME);
- this->DoBackgroundUserStuff(TIME);
+ this->DoBackgroundUserStuff();
if ((TIME % 5) == 0)
{
this->GlobalCulls.Apply();
/* If any inspsockets closed, remove them */
- this->InspSocketCull();
+ this->BufferedSocketCull();
if (this->s_signal)
{
return 0;
}
-void InspIRCd::InspSocketCull()
+void InspIRCd::BufferedSocketCull()
{
- for (std::map<InspSocket*,InspSocket*>::iterator x = SocketCull.begin(); x != SocketCull.end(); ++x)
+ for (std::map<BufferedSocket*,BufferedSocket*>::iterator x = SocketCull.begin(); x != SocketCull.end(); ++x)
{
SE->DelFd(x->second);
x->second->Close();
/**********************************************************************************/
/**
- * An ircd in four lines! bwahahaha. ahahahahaha. ahahah *cough*.
+ * An ircd in five lines! bwahahaha. ahahahahaha. ahahah *cough*.
*/
int ircd(int argc, char ** argv)
return 0;
}
-#ifdef WINDOWS
-
int main(int argc, char ** argv)
{
- ircd(argc,argv);
- return 0;
-}
+ int retval = 0;
-#else
-int main(int argc, char** argv)
-{
- return ircd(argc,argv);
+ #ifndef WINDOWS
+ // XXX No idea why this is windows only..
+ retval =
+ #endif
+ ircd(argc,argv);
+
+ return retval;
}
-#endif
+
/* this returns true when all modules are satisfied that the user should be allowed onto the irc server
* (until this returns true, a user will block in the waiting state, waiting to connect up to the
* registration timeout maximum seconds)
*/
-bool InspIRCd::AllModulesReportReady(userrec* user)
+bool InspIRCd::AllModulesReportReady(User* user)
{
if (!Config->global_implementation[I_OnCheckReady])
return true;
return old;
}
-void InspIRCd::AddLocalClone(userrec* user)
+void InspIRCd::AddLocalClone(User* user)
{
clonemap::iterator x = local_clones.find(user->GetIPString());
if (x != local_clones.end())
local_clones[user->GetIPString()] = 1;
}
-void InspIRCd::AddGlobalClone(userrec* user)
+void InspIRCd::AddGlobalClone(User* user)
{
clonemap::iterator y = global_clones.find(user->GetIPString());
if (y != global_clones.end())