summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/inspircd_io.cpp3
-rw-r--r--src/userprocess.cpp15
2 files changed, 10 insertions, 8 deletions
diff --git a/src/inspircd_io.cpp b/src/inspircd_io.cpp
index d685faf4e..0f4b56b55 100644
--- a/src/inspircd_io.cpp
+++ b/src/inspircd_io.cpp
@@ -29,6 +29,7 @@ using namespace std;
#include "inspircd_io.h"
#include "inspstring.h"
#include "helperfuncs.h"
+#include "userprocess.h"
#include "xline.h"
extern ServerConfig *Config;
@@ -374,6 +375,8 @@ void Killed(int status)
void Rehash(int status)
{
WriteOpers("Rehashing config file %s due to SIGHUP",CONFIG_FILE);
+ fclose(Config->log_file);
+ OpenLog(NULL,NULL);
Config->Read(false,NULL);
}
diff --git a/src/userprocess.cpp b/src/userprocess.cpp
index 0d45c1f9c..5e8887701 100644
--- a/src/userprocess.cpp
+++ b/src/userprocess.cpp
@@ -56,6 +56,7 @@ using namespace std;
#include "helperfuncs.h"
#include "hashcomp.h"
#include "socketengine.h"
+#include "userprocess.h"
#include "typedefs.h"
#include "command_parse.h"
#include "cull_list.h"
@@ -347,18 +348,16 @@ bool DoBackgroundUserStuff(time_t TIME)
void OpenLog(char** argv, int argc)
{
- std::string logpath = GetFullProgDir(argv,argc) + "/ircd.log";
- Config->log_file = fopen(logpath.c_str(),"a+");
+ if (Config->logpath == "")
+ {
+ Config->logpath = GetFullProgDir(argv,argc) + "/ircd.log";
+ }
+ Config->log_file = fopen(Config->logpath.c_str(),"a+");
if (!Config->log_file)
{
- printf("ERROR: Could not write to logfile %s, bailing!\n\n",logpath.c_str());
+ printf("ERROR: Could not write to logfile %s, bailing!\n\n",Config->logpath.c_str());
Exit(ERROR);
}
-#ifdef IS_CYGWIN
- printf("Logging to ircd.log...\n");
-#else
- printf("Logging to %s...\n",logpath.c_str());
-#endif
}