diff --git a/DaemonLinux.cpp b/DaemonLinux.cpp index 22d7dec8..16beeac0 100644 --- a/DaemonLinux.cpp +++ b/DaemonLinux.cpp @@ -74,13 +74,13 @@ namespace i2p LogPrint(eLogError, "Daemon: could not chdir: ", strerror(errno)); return false; } - - // point std{in,out,err} descriptors to /dev/null - stdin = freopen("/dev/null", "r", stdin); - stdout = freopen("/dev/null", "w", stdout); - stderr = freopen("/dev/null", "w", stderr); } + std::ofstream fout("/dev/null"); + std::cout.rdbuf(fout.rdbuf()); + std::cerr.rdbuf(fout.rdbuf()); + std::cin.rdbuf(fout.rdbuf()); + // Pidfile // this code is c-styled and a bit ugly, but we need fd for locking pidfile std::string pidfile; i2p::config::GetOption("pidfile", pidfile);