mirror of
https://github.com/xmrig/xmrig.git
synced 2024-11-18 10:01:06 +00:00
Removed uv_try_write for console log.
This commit is contained in:
parent
59b62dcb77
commit
8af1075c98
3 changed files with 13 additions and 36 deletions
|
@ -31,10 +31,10 @@
|
|||
|
||||
|
||||
#include <algorithm>
|
||||
#include <cstring>
|
||||
#include <ctime>
|
||||
#include <mutex>
|
||||
#include <string.h>
|
||||
#include <string>
|
||||
#include <time.h>
|
||||
#include <uv.h>
|
||||
#include <vector>
|
||||
|
||||
|
@ -42,6 +42,7 @@
|
|||
#include "base/io/log/Log.h"
|
||||
#include "base/kernel/interfaces/ILogBackend.h"
|
||||
#include "base/tools/Chrono.h"
|
||||
#include "base/tools/Object.h"
|
||||
|
||||
|
||||
namespace xmrig {
|
||||
|
@ -67,10 +68,10 @@ static const char *colors_map[] = {
|
|||
class LogPrivate
|
||||
{
|
||||
public:
|
||||
inline LogPrivate() :
|
||||
m_buf()
|
||||
{
|
||||
}
|
||||
XMRIG_DISABLE_COPY_MOVE(LogPrivate)
|
||||
|
||||
|
||||
LogPrivate() = default;
|
||||
|
||||
|
||||
inline ~LogPrivate()
|
||||
|
@ -134,7 +135,7 @@ private:
|
|||
|
||||
const uint64_t ms = Chrono::currentMSecsSinceEpoch();
|
||||
time_t now = ms / 1000;
|
||||
tm stime;
|
||||
tm stime{};
|
||||
|
||||
# ifdef _WIN32
|
||||
localtime_s(&stime, &now);
|
||||
|
@ -188,7 +189,7 @@ private:
|
|||
}
|
||||
|
||||
|
||||
char m_buf[4096];
|
||||
char m_buf[4096]{};
|
||||
std::mutex m_mutex;
|
||||
std::vector<ILogBackend*> m_backends;
|
||||
};
|
||||
|
|
|
@ -47,7 +47,6 @@ xmrig::ConsoleLog::ConsoleLog()
|
|||
}
|
||||
|
||||
uv_tty_set_mode(m_tty, UV_TTY_MODE_NORMAL);
|
||||
m_stream = reinterpret_cast<uv_stream_t*>(m_tty);
|
||||
|
||||
# ifdef WIN32
|
||||
HANDLE handle = GetStdHandle(STD_INPUT_HANDLE);
|
||||
|
@ -68,25 +67,14 @@ xmrig::ConsoleLog::~ConsoleLog()
|
|||
}
|
||||
|
||||
|
||||
void xmrig::ConsoleLog::print(int, const char *line, size_t, size_t size, bool colors)
|
||||
void xmrig::ConsoleLog::print(int, const char *line, size_t, size_t, bool colors)
|
||||
{
|
||||
if (!m_tty || Log::colors != colors) {
|
||||
return;
|
||||
}
|
||||
|
||||
# ifdef _WIN32
|
||||
uv_buf_t buf = uv_buf_init(const_cast<char *>(line), static_cast<unsigned int>(size));
|
||||
# else
|
||||
uv_buf_t buf = uv_buf_init(const_cast<char *>(line), size);
|
||||
# endif
|
||||
|
||||
if (!isWritable()) {
|
||||
fputs(line, stdout);
|
||||
fflush(stdout);
|
||||
}
|
||||
else {
|
||||
uv_try_write(m_stream, &buf, 1);
|
||||
}
|
||||
fputs(line, stdout);
|
||||
fflush(stdout);
|
||||
}
|
||||
|
||||
|
||||
|
@ -95,13 +83,3 @@ bool xmrig::ConsoleLog::isSupported() const
|
|||
const uv_handle_type type = uv_guess_handle(1);
|
||||
return type == UV_TTY || type == UV_NAMED_PIPE;
|
||||
}
|
||||
|
||||
|
||||
bool xmrig::ConsoleLog::isWritable() const
|
||||
{
|
||||
if (!m_stream || uv_is_writable(m_stream) != 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return isSupported();
|
||||
}
|
||||
|
|
|
@ -51,10 +51,8 @@ protected:
|
|||
|
||||
private:
|
||||
bool isSupported() const;
|
||||
bool isWritable() const;
|
||||
|
||||
uv_stream_t *m_stream = nullptr;
|
||||
uv_tty_t *m_tty = nullptr;
|
||||
uv_tty_t *m_tty = nullptr;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue