aboutsummaryrefslogtreecommitdiff
path: root/src/daemonizer (unfollow)
AgeCommit message (Collapse)AuthorFilesLines
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
2016-03-11Use boost::thread instead of std::threadHoward Chu2-3/+3
and all other associated IPC
2015-12-31update versionRiccardo Spagni2-2/+2
2015-12-31updated copyright yearRiccardo Spagni8-8/+8
2015-12-13posix_daemonizer: only create the main daemon object in the last childmoneromooo-monero1-1/+1
This prevents the intermediate thread from exiting properly, as fork creates a child process with only one thread, so any existing data_logger thread will not be in the child. Since this thread sets a flag the data_logger dtor blocks on, all children threads will hang on exit.
2015-05-31cleaning up, removing redundant files, renaming, fixing incorrect licensesRiccardo Spagni7-0/+196
2015-03-20Hopefully fixes build on Windows for real this timeThomas Winget1-5/+5
2015-03-20Hopefully fixes build on WindowsThomas Winget1-2/+2
2015-02-24Daemonize changes pulled in -- daemon buildsThomas Winget9-0/+981
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.