MacOS support
This commit is contained in:
parent
6dae500753
commit
262cedb0b5
|
@ -14,6 +14,7 @@ if("${MHTD}" STREQUAL "MHTD-NOTFOUND")
|
|||
endif()
|
||||
|
||||
find_package(OpenSSL REQUIRED)
|
||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
||||
|
||||
#set(CMAKE_VERBOSE_MAKEFILE ON)
|
||||
set(CMAKE_CONFIGURATION_TYPES "RELEASE;STATIC")
|
||||
|
|
18
minethd.cpp
18
minethd.cpp
|
@ -38,12 +38,25 @@ void thd_setaffinity(std::thread::native_handle_type h, uint64_t cpu_id)
|
|||
#else
|
||||
#include <pthread.h>
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#include <mach/thread_policy.h>
|
||||
#include <mach/thread_act.h>
|
||||
#define SYSCTL_CORE_COUNT "machdep.cpu.core_count"
|
||||
#endif
|
||||
|
||||
void thd_setaffinity(std::thread::native_handle_type h, uint64_t cpu_id)
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
thread_port_t mach_thread;
|
||||
thread_affinity_policy_data_t policy = { cpu_id };
|
||||
mach_thread = pthread_mach_thread_np(h);
|
||||
thread_policy_set(mach_thread, THREAD_AFFINITY_POLICY, (thread_policy_t)&policy, 1);
|
||||
#else
|
||||
cpu_set_t mn;
|
||||
CPU_ZERO(&mn);
|
||||
CPU_SET(cpu_id, &mn);
|
||||
pthread_setaffinity_np(h, sizeof(cpu_set_t), &mn);
|
||||
#endif
|
||||
}
|
||||
#endif // _WIN32
|
||||
|
||||
|
@ -177,7 +190,12 @@ std::vector<minethd*>* minethd::thread_starter(miner_work& pWork)
|
|||
minethd* thd = new minethd(pWork, i, &vGpuData[i]);
|
||||
|
||||
if(cfg.cpu_aff >= 0)
|
||||
{
|
||||
#if defined(__APPLE__)
|
||||
printer::inst()->print_msg(L1, "WARNING on MacOS thread affinity is only advisory.");
|
||||
#endif
|
||||
thd_setaffinity(thd->oWorkThd.native_handle(), cfg.cpu_aff);
|
||||
}
|
||||
|
||||
pvThreads->push_back(thd);
|
||||
if(cfg.cpu_aff >= 0)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
|
5
socks.h
5
socks.h
|
@ -76,7 +76,12 @@ inline void sock_close(SOCKET s)
|
|||
inline const char* sock_strerror(char* buf, size_t len)
|
||||
{
|
||||
buf[0] = '\0';
|
||||
#if defined(__APPLE__)
|
||||
strerror_r(errno, buf, len);
|
||||
return buf;
|
||||
#else
|
||||
return strerror_r(errno, buf, len);
|
||||
#endif
|
||||
}
|
||||
|
||||
inline const char* sock_gai_strerror(int err, char* buf, size_t len)
|
||||
|
|
Loading…
Reference in New Issue