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 <algorithm>
|
||||||
|
#include <cstring>
|
||||||
|
#include <ctime>
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
#include <string.h>
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <time.h>
|
|
||||||
#include <uv.h>
|
#include <uv.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@
|
||||||
#include "base/io/log/Log.h"
|
#include "base/io/log/Log.h"
|
||||||
#include "base/kernel/interfaces/ILogBackend.h"
|
#include "base/kernel/interfaces/ILogBackend.h"
|
||||||
#include "base/tools/Chrono.h"
|
#include "base/tools/Chrono.h"
|
||||||
|
#include "base/tools/Object.h"
|
||||||
|
|
||||||
|
|
||||||
namespace xmrig {
|
namespace xmrig {
|
||||||
|
@ -67,10 +68,10 @@ static const char *colors_map[] = {
|
||||||
class LogPrivate
|
class LogPrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
inline LogPrivate() :
|
XMRIG_DISABLE_COPY_MOVE(LogPrivate)
|
||||||
m_buf()
|
|
||||||
{
|
|
||||||
}
|
LogPrivate() = default;
|
||||||
|
|
||||||
|
|
||||||
inline ~LogPrivate()
|
inline ~LogPrivate()
|
||||||
|
@ -134,7 +135,7 @@ private:
|
||||||
|
|
||||||
const uint64_t ms = Chrono::currentMSecsSinceEpoch();
|
const uint64_t ms = Chrono::currentMSecsSinceEpoch();
|
||||||
time_t now = ms / 1000;
|
time_t now = ms / 1000;
|
||||||
tm stime;
|
tm stime{};
|
||||||
|
|
||||||
# ifdef _WIN32
|
# ifdef _WIN32
|
||||||
localtime_s(&stime, &now);
|
localtime_s(&stime, &now);
|
||||||
|
@ -188,7 +189,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
char m_buf[4096];
|
char m_buf[4096]{};
|
||||||
std::mutex m_mutex;
|
std::mutex m_mutex;
|
||||||
std::vector<ILogBackend*> m_backends;
|
std::vector<ILogBackend*> m_backends;
|
||||||
};
|
};
|
||||||
|
|
|
@ -47,7 +47,6 @@ xmrig::ConsoleLog::ConsoleLog()
|
||||||
}
|
}
|
||||||
|
|
||||||
uv_tty_set_mode(m_tty, UV_TTY_MODE_NORMAL);
|
uv_tty_set_mode(m_tty, UV_TTY_MODE_NORMAL);
|
||||||
m_stream = reinterpret_cast<uv_stream_t*>(m_tty);
|
|
||||||
|
|
||||||
# ifdef WIN32
|
# ifdef WIN32
|
||||||
HANDLE handle = GetStdHandle(STD_INPUT_HANDLE);
|
HANDLE handle = GetStdHandle(STD_INPUT_HANDLE);
|
||||||
|
@ -68,26 +67,15 @@ 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) {
|
if (!m_tty || Log::colors != colors) {
|
||||||
return;
|
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);
|
fputs(line, stdout);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
uv_try_write(m_stream, &buf, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool xmrig::ConsoleLog::isSupported() const
|
bool xmrig::ConsoleLog::isSupported() const
|
||||||
|
@ -95,13 +83,3 @@ bool xmrig::ConsoleLog::isSupported() const
|
||||||
const uv_handle_type type = uv_guess_handle(1);
|
const uv_handle_type type = uv_guess_handle(1);
|
||||||
return type == UV_TTY || type == UV_NAMED_PIPE;
|
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,9 +51,7 @@ protected:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool isSupported() const;
|
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