From f18383c3ebd7e2f4f89f1ae8c831ecc4dc5ff3cd Mon Sep 17 00:00:00 2001 From: HanzZ Date: Sun, 13 Jan 2013 10:50:41 +0100 Subject: [PATCH] chdir to working_dir also when not running as daemon --- spectrum/src/main.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/spectrum/src/main.cpp b/spectrum/src/main.cpp index 68389e80..89fc653b 100644 --- a/spectrum/src/main.cpp +++ b/spectrum/src/main.cpp @@ -398,7 +398,6 @@ int main(int argc, char **argv) // create directories try { - Transport::Util::createDirectories(&config, CONFIG_STRING(&config, "service.working_dir")); } catch (...) { @@ -451,7 +450,13 @@ int main(int argc, char **argv) // daemonize daemonize(CONFIG_STRING(&config, "service.working_dir").c_str(), CONFIG_STRING(&config, "service.pidfile").c_str()); // removeOldIcons(CONFIG_STRING(&config, "service.working_dir") + "/icons"); - } + } + else { + if ((chdir(CONFIG_STRING(&config, "service.working_dir").c_str())) < 0) { + std::cerr << "Cannot change directory to " << CONFIG_STRING(&config, "service.working_dir") << "\n"; + exit(1); + } + } #endif #ifdef WIN32 if (!run_service_name.empty()) {