diff options
Diffstat (limited to 'xmrstak/misc')
-rw-r--r-- | xmrstak/misc/console.cpp | 6 | ||||
-rw-r--r-- | xmrstak/misc/console.hpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/xmrstak/misc/console.cpp b/xmrstak/misc/console.cpp index ba34bb3..ce63bcb 100644 --- a/xmrstak/misc/console.cpp +++ b/xmrstak/misc/console.cpp @@ -156,6 +156,7 @@ printer::printer() { verbose_level = LINF; logfile = nullptr; + b_flush_stdout = false; } bool printer::open_logfile(const char* file) @@ -193,6 +194,11 @@ void printer::print_msg(verbosity verbose, const char* fmt, ...) std::unique_lock<std::mutex> lck(print_mutex); fputs(buf, stdout); + if (b_flush_stdout) + { + fflush(stdout); + } + if(logfile != nullptr) { fputs(buf, logfile); diff --git a/xmrstak/misc/console.hpp b/xmrstak/misc/console.hpp index 4d5be78..97e86bd 100644 --- a/xmrstak/misc/console.hpp +++ b/xmrstak/misc/console.hpp @@ -35,6 +35,7 @@ public: }; inline void set_verbose_level(size_t level) { verbose_level = (verbosity)level; } + inline void set_flush_stdout(bool status) { b_flush_stdout = status; } void print_msg(verbosity verbose, const char* fmt, ...); void print_str(const char* str); bool open_logfile(const char* file); @@ -44,6 +45,7 @@ private: std::mutex print_mutex; verbosity verbose_level; + bool b_flush_stdout; FILE* logfile; }; |