X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fserver.cpp;h=691ab3842f7d1c455d06577fcb90d9b40cbfcff2;hb=bb3aa2fb37071f48a5312df8688c0a6990644fbb;hp=adaaa7d2cbeb767644704f712b70c7a06b013271;hpb=52458f91f1c03294d8edf2f264051b8e1e25f853;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/server.cpp b/src/server.cpp index adaaa7d2c..691ab3842 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -27,11 +27,15 @@ void InspIRCd::SignalHandler(int signal) { +#ifdef _WIN32 + if (signal == SIGTERM) +#else if (signal == SIGHUP) { Rehash("Caught SIGHUP"); } else if (signal == SIGTERM) +#endif { Exit(signal); } @@ -39,9 +43,7 @@ void InspIRCd::SignalHandler(int signal) void InspIRCd::Exit(int status) { -#ifdef WINDOWS - if (WindowsIPC) - delete WindowsIPC; +#ifdef _WIN32 SetServiceStopped(status); #endif if (this) @@ -57,7 +59,6 @@ void InspIRCd::Exit(int status) void RehashHandler::Call(const std::string &reason) { ServerInstance->SNO->WriteToSnoMask('a', "Rehashing config file %s %s",ServerConfig::CleanFilename(ServerInstance->ConfigFileName.c_str()), reason.c_str()); - ServerInstance->RehashUsersAndChans(); FOREACH_MOD(I_OnGarbageCollect, OnGarbageCollect()); if (!ServerInstance->ConfigThread) { @@ -70,9 +71,12 @@ std::string InspIRCd::GetVersionString(bool operstring) { char versiondata[MAXBUF]; if (operstring) - snprintf(versiondata,MAXBUF,"%s %s :%s [%s,%s,%s]",VERSION,Config->ServerName.c_str(),SYSTEM,REVISION,SE->GetName().c_str(),Config->sid.c_str()); + { + std::string sename = SE->GetName(); + snprintf(versiondata,MAXBUF,"%s %s :%s [%s,%s,%s]",VERSION, Config->ServerName.c_str(), SYSTEM,REVISION, sename.c_str(), Config->sid.c_str()); + } else - snprintf(versiondata,MAXBUF,"InspIRCd-2.0 %s :%s",Config->ServerName.c_str(),Config->CustomVersion.c_str()); + snprintf(versiondata,MAXBUF,"%s %s :%s",BRANCH,Config->ServerName.c_str(),Config->CustomVersion.c_str()); return versiondata; } @@ -86,7 +90,7 @@ void InspIRCd::BuildISupport() std::stringstream v; v << "WALLCHOPS WALLVOICES MODES=" << Config->Limits.MaxModes << " CHANTYPES=# PREFIX=" << this->Modes->BuildPrefixes() << " MAP MAXCHANNELS=" << Config->MaxChans << " MAXBANS=60 VBANLIST NICKLEN=" << Config->Limits.NickMax; v << " CASEMAPPING=rfc1459 STATUSMSG=" << Modes->BuildPrefixes(false) << " CHARSET=ascii TOPICLEN=" << Config->Limits.MaxTopic << " KICKLEN=" << Config->Limits.MaxKick << " MAXTARGETS=" << Config->MaxTargets; - v << " AWAYLEN=" << Config->Limits.MaxAway << " CHANMODES=" << this->Modes->GiveModeList(MASK_CHANNEL) << " FNC NETWORK=" << Config->Network << " MAXPARA=32 ELIST=MU"; + v << " AWAYLEN=" << Config->Limits.MaxAway << " CHANMODES=" << this->Modes->GiveModeList(MASK_CHANNEL) << " FNC NETWORK=" << Config->Network << " MAXPARA=32 ELIST=MU" << " CHANNELLEN=" << Config->Limits.ChanMax; Config->data005 = v.str(); FOREACH_MOD(I_On005Numeric,On005Numeric(Config->data005)); Config->Update005();