diff options
Diffstat (limited to 'src/daemonizer')
-rw-r--r-- | src/daemonizer/posix_fork.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/daemonizer/posix_fork.cpp b/src/daemonizer/posix_fork.cpp index 949c0f593..d9b4a6d0e 100644 --- a/src/daemonizer/posix_fork.cpp +++ b/src/daemonizer/posix_fork.cpp @@ -14,6 +14,10 @@ #include <string> #include <sys/stat.h> +#ifndef TMPDIR +#define TMPDIR "/tmp" +#endif + namespace posix { namespace { @@ -76,12 +80,16 @@ void fork() } // Send standard output to a log file. - const char* output = "/tmp/bitmonero.daemon.stdout.stderr"; + const char *tmpdir = getenv("TMPDIR"); + if (!tmpdir) + tmpdir = TMPDIR; + std::string output = tmpdir; + output += "/bitmonero.daemon.stdout.stderr"; const int flags = O_WRONLY | O_CREAT | O_APPEND; const mode_t mode = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH; - if (open(output, flags, mode) < 0) + if (open(output.c_str(), flags, mode) < 0) { - quit("Unable to open output file: " + std::string(output)); + quit("Unable to open output file: " + output); } // Also send standard error to the same log file. |