diff options
author | Sadie Powell <sadie@witchery.services> | 2021-04-08 13:25:05 +0100 |
---|---|---|
committer | Sadie Powell <sadie@witchery.services> | 2021-04-08 13:47:13 +0100 |
commit | f83558f10b3ac6021b05fa187a9302310794f008 (patch) | |
tree | d7333973036825a991261707069e52c65e929d34 /src/init.cpp | |
parent | 9483da32392f65a663edcaacc9b00ff0430494ee (diff) |
Log when freopen and chown fail.
Diffstat (limited to 'src/init.cpp')
-rw-r--r-- | src/init.cpp | 13 |
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(); } } |