Merge remote-tracking branch 'xmrig/master' into feature_cc

This commit is contained in:
Ben Gräf 2017-10-21 22:13:24 +02:00
commit bb09944cb8
9 changed files with 32 additions and 7 deletions

View file

@ -1,3 +1,6 @@
# v2.4.1
- [#147](https://github.com/xmrig/xmrig/issues/147) Fixed comparability with monero-stratum.
# v2.4.0
- Added [HTTP API](https://github.com/xmrig/xmrig/wiki/API).
- Added comments support in config file.

View file

@ -142,6 +142,10 @@ else()
set(EXTRA_LIBS pthread)
endif()
if (CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
set(EXTRA_LIBS ${EXTRA_LIBS} kvm)
endif()
add_definitions(/D__STDC_FORMAT_MACROS)
add_definitions(/DUNICODE)
add_definitions(/DRAPIDJSON_SSE2)

View file

@ -10,6 +10,7 @@ XMRig is high performance Monero (XMR) / Aeon CPU miner, with the official full
Originally based on cpuminer-multi with heavy optimizations/rewrites and removing a lot of legacy code, since version 1.0.0 complete rewritten from scratch on C++.
* This is the CPU-mining version, there is also a [NVIDIA GPU version](https://github.com/xmrig/xmrig-nvidia).
* [Roadmap](https://github.com/xmrig/xmrig/issues/106) for next releases.
<img src="http://i.imgur.com/OKZRVDh.png" width="619" >

View file

@ -22,6 +22,14 @@
*/
#ifdef __FreeBSD__
# include <sys/types.h>
# include <sys/param.h>
# include <sys/cpuset.h>
# include <pthread_np.h>
#endif
#include <pthread.h>
#include <sched.h>
#include <unistd.h>
@ -31,6 +39,11 @@
#include "Cpu.h"
#ifdef __FreeBSD__
typedef cpuset_t cpu_set_t;
#endif
void Cpu::init()
{
# ifdef XMRIG_NO_LIBCPUID
@ -53,7 +66,9 @@ void Cpu::setAffinity(int id, uint64_t mask)
}
if (id == -1) {
# ifndef __FreeBSD__
sched_setaffinity(0, sizeof(&set), &set);
# endif
} else {
pthread_setaffinity_np(pthread_self(), sizeof(&set), &set);
}

View file

@ -51,10 +51,11 @@ bool Mem::allocate(const Options* options)
# if defined(__APPLE__)
m_memory = static_cast<uint8_t*>(mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, VM_FLAGS_SUPERPAGE_SIZE_2MB, 0));
# elif defined(__FreeBSD__)
m_memory = static_cast<uint8_t*>(mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_ALIGNED_SUPER | MAP_PREFAULT_READ, -1, 0));
# else
m_memory = static_cast<uint8_t*>(mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_POPULATE, 0, 0));
# endif
if (m_memory == MAP_FAILED) {
m_memory = static_cast<uint8_t*>(_mm_malloc(size, 16));
return true;

View file

@ -21,7 +21,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <sched.h>
#include <stdlib.h>
#include <string.h>
@ -116,6 +115,7 @@ void Platform::setThreadPriority(int priority)
setpriority(PRIO_PROCESS, 0, prio);
# ifdef SCHED_IDLE
if (priority == 0) {
sched_param param;
param.sched_priority = 0;
@ -124,4 +124,5 @@ void Platform::setThreadPriority(int priority)
sched_setscheduler(0, SCHED_BATCH, &param);
}
}
# endif
}

View file

@ -220,7 +220,8 @@ bool Client::parseJob(const rapidjson::Value &params, int *code)
}
if (m_job == job) {
LOG_WARN("[%s:%u] duplicate job received, ignore", m_url.host(), m_url.port());
LOG_WARN("[%s:%u] duplicate job received, reconnect", m_url.host(), m_url.port());
close();
return false;
}

View file

@ -63,7 +63,7 @@ public:
}
const size_t size = strlen(id);
if (size < 4 || size >= sizeof(m_data)) {
if (size >= sizeof(m_data)) {
return false;
}

View file

@ -33,8 +33,7 @@
#define APP_NAME "XMRig"
#define APP_DESC "XMRig CPU miner"
#endif
#define APP_VERSION "2.4.0"
#define APP_VERSION "2.4.1"
#define APP_DOMAIN "xmrig.com"
#define APP_SITE "www.xmrig.com"
#define APP_COPYRIGHT "Copyright (C) 2016-2017 xmrig.com"
@ -42,7 +41,7 @@
#define APP_VER_MAJOR 2
#define APP_VER_MINOR 4
#define APP_VER_BUILD 0
#define APP_VER_BUILD 1
#define APP_VER_REV 0
#ifdef _MSC_VER