aboutsummaryrefslogtreecommitdiff
path: root/src/daemonizer/posix_fork.cpp (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
2019-11-17Fix #6147 DB corruption from child process overwriteHoward Chu1-1/+6
Don't leave stdout/stderr dangling on a fork.
2018-11-15Removed a lot of unnecessary includesMartijn Otto1-1/+0
2018-02-23monerod: do not log to tmpdir in daemon modeston1th1-0/+2
The logging to /tmp/bitmonero.daemon.stdout.stderr caused segfaults if the /tmp mount was full (#2851). Now the daemon is only logging to /tmp/bitmonero.daemon.stdout.stderr in the debug builds.
2017-07-22daemon: Add ability to write a PID fileErik de Castro Lopo1-3/+39
The PID file will only be written if the daemon is called with the `--detach` command line argument and a `--pidfile /some/file/path` argument.
2017-07-11Don't hardcode /tmpHoward Chu1-3/+11
2016-07-09daemonizer: posix: keep parent's working dir and umaskredfish1-14/+0
Keep the working directory (and umask) inherited from the parent. Otherwise, it's impossible to control the working directory of the daemon (from systemd, for example). Furthermoer, bitmonerod attempts to create logging directories and files *in current working directory*. This fails due to permission denied and generates a (caught, nonfatal) exception. Below is the strace with this patch applied (so, no `chdir("/")`), showing successful opens at `log/` relative path. Without this patch they fail (sorry, didn't save the trace). ``` 28911 getcwd("/.../bitmonero", 128) = 25 28911 stat64("/var/lib/bitmonero/.bitmonero", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 28911 stat64("/etc/bitmonerod.conf", {st_mode=S_IFREG|0644, st_size=244, ...}) = 0 28911 open("/etc/bitmonerod.conf", O_RDONLY|O_LARGEFILE) = 3 28911 open("/var/log/bitmonero/bitmonero.log", O_WRONLY|O_CREAT|O_APPEND|O_LARGEFILE, 0666) = 3 28911 stat64("log", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 28911 stat64("log/dbg", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 28911 open("log/dbg/main.log", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 4 ``` The reasoning of chdir("/") in order to prevent the daemon from holding a filesystem in busy state is not compelling at all: the choice of working directory for the daemon is the user's business not the daemon's.
2016-03-21Revert "Print stack trace upon exceptions"moneromooo-monero1-2/+1
Ain't nobody got time for link/cmake skullduggery. This reverts commit fff238ec94ac6d45fc18c315d7bc590ddfaad63d.
2016-03-19Print stack trace upon exceptionsmoneromooo-monero1-1/+2
Useful for debugging users' logs
2015-02-24Daemonize changes pulled in -- daemon buildsThomas Winget1-0/+108
many RPC functions added by the daemonize changes (and related changes on the upstream dev branch that were not merged) were commented out (apart from return). Other than that, this *should* work...at any rate, it builds, and that's something.