diff options
Diffstat (limited to 'src/lib/barrier/win32/DaemonApp.cpp')
| -rw-r--r-- | src/lib/barrier/win32/DaemonApp.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/lib/barrier/win32/DaemonApp.cpp b/src/lib/barrier/win32/DaemonApp.cpp index 62fecf8..eafd893 100644 --- a/src/lib/barrier/win32/DaemonApp.cpp +++ b/src/lib/barrier/win32/DaemonApp.cpp @@ -33,6 +33,7 @@ #include "base/EventQueue.h" #include "base/log_outputters.h" #include "base/Log.h" +#include "common/DataDirectories.h" #include "arch/win32/ArchMiscWindows.h" #include "arch/win32/XArchWindows.h" @@ -41,6 +42,7 @@ #include "platform/MSWindowsDebugOutputter.h" #include "platform/MSWindowsWatchdog.h" #include "platform/MSWindowsEventQueueBuffer.h" +#include "platform/MSWindowsUtil.h" #define WIN32_LEAN_AND_MEAN #include <Windows.h> @@ -130,8 +132,10 @@ DaemonApp::run(int argc, char** argv) } if (foreground) { - // run process in foreground instead of daemonizing. - // useful for debugging. + // add a console to catch Ctrl+C and run process in foreground + // instead of daemonizing. useful for debugging. + if (IsDebuggerPresent()) + AllocConsole(); mainLoop(false); } else { @@ -239,14 +243,10 @@ DaemonApp::foregroundError(const char* message) std::string DaemonApp::logFilename() { - string logFilename; - logFilename = ARCH->setting("LogFilename"); - if (logFilename.empty()) { - logFilename = ARCH->getLogDirectory(); - logFilename.append("/"); - logFilename.append(LOG_FILENAME); - } - + string logFilename = ARCH->setting("LogFilename"); + if (logFilename.empty()) + logFilename = DataDirectories::global() + "\\" + LOG_FILENAME; + MSWindowsUtil::createDirectory(logFilename, true); return logFilename; } |
