Skip to content
Permalink
Browse files

Add NetBSD cpu affinity support code (#10378)

  • Loading branch information
devnexen committed Sep 9, 2020
1 parent 62913b8 commit 0683bea283d456253de343f37720789382ece6b2
Showing with 9 additions and 0 deletions.
  1. +9 −0 src/threading/thread.cpp
@@ -33,6 +33,8 @@ DEALINGS IN THE SOFTWARE.
#include <sys/prctl.h>
#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#include <pthread_np.h>
#elif defined(__NetBSD__)
#include <sched.h>
#elif defined(_MSC_VER)
struct THREADNAME_INFO {
DWORD dwType; // Must be 0x1000
@@ -285,7 +287,14 @@ bool Thread::bindToProcessor(unsigned int proc_number)
CPU_SET(proc_number, &cpuset);

return pthread_setaffinity_np(getThreadHandle(), sizeof(cpuset), &cpuset) == 0;
#elif defined(__NetBSD__)

cpuset_t *cpuset = cpuset_create();
if (cpuset == NULL)
return false;
int r = pthread_setaffinity_np(getThreadHandle(), cpuset_size(cpuset), cpuset);
cpuset_destroy(cpuset);
return r == 0;
#elif defined(__sun) || defined(sun)

return processor_bind(P_LWPID, P_MYID, proc_number, NULL) == 0

0 comments on commit 0683bea

Please sign in to comment.
You can’t perform that action at this time.