summaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
authorSadie Powell <sadie@witchery.services>2021-04-08 13:25:05 +0100
committerSadie Powell <sadie@witchery.services>2021-04-08 13:47:13 +0100
commitf83558f10b3ac6021b05fa187a9302310794f008 (patch)
treed7333973036825a991261707069e52c65e929d34 /src/init.cpp
parent9483da32392f65a663edcaacc9b00ff0430494ee (diff)
Log when freopen and chown fail.
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 602311a52..9c85196b9 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -106,9 +106,12 @@ void Anope::Fork()
#ifndef _WIN32
kill(getppid(), SIGUSR2);
- freopen("/dev/null", "r", stdin);
- freopen("/dev/null", "w", stdout);
- freopen("/dev/null", "w", stderr);
+ if (!freopen("/dev/null", "r", stdin))
+ Log() << "Unable to redirect stdin to /dev/null: " << Anope::LastError();
+ if (!freopen("/dev/null", "w", stdout))
+ Log() << "Unable to redirect stdout to /dev/null: " << Anope::LastError();
+ if (!freopen("/dev/null", "w", stderr))
+ Log() << "Unable to redirect stderr to /dev/null: " << Anope::LastError();
setpgid(0, 0);
@@ -263,7 +266,9 @@ static void setuidgid()
{
LogFile* lf = li.logfiles[j];
- chown(lf->filename.c_str(), uid, gid);
+ errno = 0;
+ if (chown(lf->filename.c_str(), uid, gid) != 0)
+ Log() << "Unable to change the ownership of " << lf->filename << " to " << uid << "/" << gid << ": " << Anope::LastError();
}
}