From 1c5718b3d78f8d0cb7a1d563be78c87c1ea47d21 Mon Sep 17 00:00:00 2001 From: Dmitriy Gerasimov <naeper@demlabs.net> Date: Tue, 9 Feb 2021 16:36:01 +0700 Subject: [PATCH] [+] BSD variant of set/get cpu affinity calls --- dap-sdk/net/core/dap_events.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/dap-sdk/net/core/dap_events.c b/dap-sdk/net/core/dap_events.c index c95918cd84..aea5f2b593 100644 --- a/dap-sdk/net/core/dap_events.c +++ b/dap-sdk/net/core/dap_events.c @@ -50,6 +50,13 @@ #include <sys/timerfd.h> #endif +#include <pthread.h> + +#ifdef DAP_OS_BSD +#include <pthread_np.h> +typedef cpuset_t cpu_set_t; // Adopt BSD CPU setstructure to POSIX variant +#endif + #if defined(DAP_OS_ANDROID) #define NO_POSIX_SHED #define NO_TIMER @@ -62,7 +69,7 @@ #include <mswsock.h> #include <ws2tcpip.h> #include <io.h> -#include <pthread.h> + #endif #include <utlist.h> @@ -93,7 +100,11 @@ uint32_t dap_get_cpu_count( ) #ifndef NO_POSIX_SHED cpu_set_t cs; CPU_ZERO( &cs ); +#if defined (DAP_OS_ANDROID) sched_getaffinity( 0, sizeof(cs), &cs ); +#else + pthread_getaffinity_np(pthread_self(), sizeof(cs), &cs); +#endif uint32_t count = 0; for ( int i = 0; i < 32; i++ ){ -- GitLab