summaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
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();
}
}