mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-15 03:18:07 +00:00
NetBSD various support improvements
This commit is contained in:
@ -52,15 +52,18 @@
|
||||
#include "types.h"
|
||||
#include "debug.h"
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#define HAVE_AFFINITY 1
|
||||
# if defined(__FreeBSD__)
|
||||
# include <pthread.h>
|
||||
# include <pthread_np.h>
|
||||
# include <sys/cpuset.h>
|
||||
# define cpu_set_t cpuset_t
|
||||
# elif defined(__NetBSD__)
|
||||
# include <pthread.h>
|
||||
# include <sched.h>
|
||||
# endif
|
||||
#endif /* __linux__ || __FreeBSD__ */
|
||||
#endif /* __linux__ || __FreeBSD__ || __NetBSD__ */
|
||||
|
||||
/* Get unix time in microseconds. */
|
||||
|
||||
@ -160,17 +163,34 @@ int main(int argc, char** argv) {
|
||||
|
||||
if (!fr) {
|
||||
|
||||
cpu_set_t c;
|
||||
u32 util_perc;
|
||||
#if defined(__linux__) || defined(__FreeBSD__)
|
||||
cpu_set_t c;
|
||||
|
||||
CPU_ZERO(&c);
|
||||
CPU_SET(i, &c);
|
||||
#elif defined(__NetBSD__)
|
||||
cpuset_t *c;
|
||||
|
||||
c = cpuset_create();
|
||||
if (c == NULL)
|
||||
PFATAL("cpuset_create failed");
|
||||
|
||||
cpuset_set(i, c);
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
if (pthread_setaffinity_np(pthread_self(), sizeof(c), &c))
|
||||
PFATAL("pthread_setaffinity_np failed");
|
||||
#endif
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
if (pthread_setaffinity_np(pthread_self(), cpuset_size(c), c))
|
||||
PFATAL("pthread_setaffinity_np failed");
|
||||
|
||||
cpuset_destroy(c);
|
||||
#endif
|
||||
|
||||
#if defined(__linux__)
|
||||
if (sched_setaffinity(0, sizeof(c), &c))
|
||||
PFATAL("sched_setaffinity failed");
|
||||
|
Reference in New Issue
Block a user