summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/inspircd.h2
-rw-r--r--include/logger.h2
-rw-r--r--src/base.cpp12
-rw-r--r--src/inspircd.cpp5
4 files changed, 8 insertions, 13 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index 9d00454b4..91aba7862 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -362,7 +362,7 @@ class CoreExport InspIRCd
/** LogManager handles logging.
*/
- LogManager *Logs;
+ LogManager Logs;
/** ModuleManager contains everything related to loading/unloading
* modules.
diff --git a/include/logger.h b/include/logger.h
index 2ea280be8..c56859a62 100644
--- a/include/logger.h
+++ b/include/logger.h
@@ -114,7 +114,7 @@ class CoreExport LogStream : public classbase
typedef std::map<FileWriter*, int> FileLogMap;
-class CoreExport LogManager
+class CoreExport LogManager : public fakederef<LogManager>
{
private:
/** Lock variable, set to true when a log is in progress, which prevents further loggging from happening and creating a loop.
diff --git a/src/base.cpp b/src/base.cpp
index dc57a8434..c131f4dae 100644
--- a/src/base.cpp
+++ b/src/base.cpp
@@ -27,13 +27,13 @@
classbase::classbase()
{
- if (ServerInstance && ServerInstance->Logs)
+ if (ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "classbase::+ @%p", (void*)this);
}
CullResult classbase::cull()
{
- if (ServerInstance && ServerInstance->Logs)
+ if (ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "classbase::-%s @%p",
typeid(*this).name(), (void*)this);
return CullResult();
@@ -41,7 +41,7 @@ CullResult classbase::cull()
classbase::~classbase()
{
- if (ServerInstance && ServerInstance->Logs)
+ if (ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "classbase::~ @%p", (void*)this);
}
@@ -73,14 +73,14 @@ refcountbase::refcountbase() : refcount(0)
refcountbase::~refcountbase()
{
- if (refcount && ServerInstance && ServerInstance->Logs)
+ if (refcount && ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "refcountbase::~ @%p with refcount %d",
(void*)this, refcount);
}
usecountbase::~usecountbase()
{
- if (usecount && ServerInstance && ServerInstance->Logs)
+ if (usecount && ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "usecountbase::~ @%p with refcount %d",
(void*)this, usecount);
}
@@ -197,7 +197,7 @@ void Extensible::FreeAllExtItems()
Extensible::~Extensible()
{
- if ((!extensions.empty() || !culled) && ServerInstance && ServerInstance->Logs)
+ if ((!extensions.empty() || !culled) && ServerInstance)
ServerInstance->Logs->Log("CULLLIST", LOG_DEBUG, "Extensible destructor called without cull @%p", (void*)this);
}
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 8d0b8a649..585abd0c7 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -131,7 +131,6 @@ void InspIRCd::Cleanup()
DeleteZero(this->Config);
SocketEngine::Deinit();
Logs->CloseLogs();
- DeleteZero(this->Logs);
}
void InspIRCd::SetSignals()
@@ -250,7 +249,6 @@ InspIRCd::InspIRCd(int argc, char** argv) :
do_nolog = 0, do_root = 0;
// Initialize so that if we exit before proper initialization they're not deleted
- this->Logs = 0;
this->Users = 0;
this->Config = 0;
this->SNO = 0;
@@ -262,9 +260,6 @@ InspIRCd::InspIRCd(int argc, char** argv) :
UpdateTime();
this->startup_time = TIME.tv_sec;
- // This must be created first, so other parts of Insp can use it while starting up
- this->Logs = new LogManager;
-
SocketEngine::Init();
// Create base manager classes early, so nothing breaks