summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2012-04-22 02:57:17 -0400
committerAdam <Adam@anope.org>2012-04-22 02:57:17 -0400
commitfc00406079860043408499e26e9d8fcad49bffd6 (patch)
tree458d6e4a2a3fc9eedf411e7e35d17abb90e0fd77 /src
parent7372b457cc355f750631860d2d85d13e0089a72a (diff)
Fixed ./services --version etc not getting printed when stdout is a file/pipe/not a tty
Diffstat (limited to 'src')
-rw-r--r--src/init.cpp9
-rw-r--r--src/logger.cpp5
2 files changed, 4 insertions, 10 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 4fc9c1eef..55ad04bae 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -252,12 +252,9 @@ void Fork()
#ifndef _WIN32
kill(getppid(), SIGUSR2);
- if (isatty(fileno(stdout)))
- fclose(stdout);
- if (isatty(fileno(stdin)))
- fclose(stdin);
- if (isatty(fileno(stderr)))
- fclose(stderr);
+ freopen("/dev/null", "r", stdin);
+ freopen("/dev/null", "w", stdout);
+ freopen("/dev/null", "w", stderr);
setpgid(0, 0);
#else
diff --git a/src/logger.cpp b/src/logger.cpp
index 2df912e18..fb720963c 100644
--- a/src/logger.cpp
+++ b/src/logger.cpp
@@ -161,10 +161,7 @@ Log::~Log()
else if (nofork && this->Type <= LOG_TERMINAL)
std::cout << GetTimeStamp() << " " << this->BuildPrefix() << this->buf.str() << std::endl;
else if (this->Type == LOG_TERMINAL)
- {
- if (AtTerm())
- std::cout << this->BuildPrefix() << this->buf.str() << std::endl;
- }
+ std::cout << this->BuildPrefix() << this->buf.str() << std::endl;
for (unsigned i = 0; Config && i < Config->LogInfos.size(); ++i)
{
LogInfo *l = Config->LogInfos[i];