mirror of
https://codeberg.org/redict/redict.git
synced 2025-01-22 16:18:28 -05:00
Merge pull request #7244 from devnexen/netbsd_build_fix
NetBSD build update.
This commit is contained in:
commit
67a4fb912f
10
src/Makefile
10
src/Makefile
@ -128,6 +128,14 @@ else
|
|||||||
ifeq ($(uname_S),DragonFly)
|
ifeq ($(uname_S),DragonFly)
|
||||||
# FreeBSD
|
# FreeBSD
|
||||||
FINAL_LIBS+= -lpthread -lexecinfo
|
FINAL_LIBS+= -lpthread -lexecinfo
|
||||||
|
else
|
||||||
|
ifeq ($(uname_S),OpenBSD)
|
||||||
|
# OpenBSD
|
||||||
|
FINAL_LIBS+= -lpthread -lexecinfo
|
||||||
|
else
|
||||||
|
ifeq ($(uname_S),NetBSD)
|
||||||
|
# NetBSD
|
||||||
|
FINAL_LIBS+= -lpthread -lexecinfo
|
||||||
else
|
else
|
||||||
# All the other OSes (notably Linux)
|
# All the other OSes (notably Linux)
|
||||||
FINAL_LDFLAGS+= -rdynamic
|
FINAL_LDFLAGS+= -rdynamic
|
||||||
@ -138,6 +146,8 @@ endif
|
|||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
# Include paths to dependencies
|
# Include paths to dependencies
|
||||||
FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
|
FINAL_CFLAGS+= -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src
|
||||||
|
|
||||||
|
@ -248,7 +248,7 @@ int pthread_setname_np(const char *name);
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Check if we can use setcpuaffinity(). */
|
/* Check if we can use setcpuaffinity(). */
|
||||||
#if (defined __linux || defined __NetBSD__ || defined __FreeBSD__ || defined __OpenBSD__)
|
#if (defined __linux || defined __NetBSD__ || defined __FreeBSD__)
|
||||||
#define USE_SETCPUAFFINITY
|
#define USE_SETCPUAFFINITY
|
||||||
void setcpuaffinity(const char *cpulist);
|
void setcpuaffinity(const char *cpulist);
|
||||||
#endif
|
#endif
|
||||||
|
@ -36,6 +36,10 @@
|
|||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#include <sys/cpuset.h>
|
#include <sys/cpuset.h>
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __NetBSD__
|
||||||
|
#include <pthread.h>
|
||||||
|
#include <sched.h>
|
||||||
|
#endif
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifdef USE_SETCPUAFFINITY
|
#ifdef USE_SETCPUAFFINITY
|
||||||
@ -71,11 +75,18 @@ void setcpuaffinity(const char *cpulist) {
|
|||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
cpuset_t cpuset;
|
cpuset_t cpuset;
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __NetBSD__
|
||||||
|
cpuset_t *cpuset;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!cpulist)
|
if (!cpulist)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
#ifndef __NetBSD__
|
||||||
CPU_ZERO(&cpuset);
|
CPU_ZERO(&cpuset);
|
||||||
|
#else
|
||||||
|
cpuset = cpuset_create();
|
||||||
|
#endif
|
||||||
|
|
||||||
q = cpulist;
|
q = cpulist;
|
||||||
while (p = q, q = next_token(q, ','), p) {
|
while (p = q, q = next_token(q, ','), p) {
|
||||||
@ -110,7 +121,11 @@ void setcpuaffinity(const char *cpulist) {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
while (a <= b) {
|
while (a <= b) {
|
||||||
|
#ifndef __NetBSD__
|
||||||
CPU_SET(a, &cpuset);
|
CPU_SET(a, &cpuset);
|
||||||
|
#else
|
||||||
|
cpuset_set(a, cpuset);
|
||||||
|
#endif
|
||||||
a += s;
|
a += s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,6 +139,10 @@ void setcpuaffinity(const char *cpulist) {
|
|||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, sizeof(cpuset), &cpuset);
|
cpuset_setaffinity(CPU_LEVEL_WHICH, CPU_WHICH_TID, -1, sizeof(cpuset), &cpuset);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef __NetBSD__
|
||||||
|
pthread_setaffinity_np(pthread_self(), cpuset_size(cpuset), cpuset);
|
||||||
|
cpuset_destroy(cpuset);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* USE_SETCPUAFFINITY */
|
#endif /* USE_SETCPUAFFINITY */
|
||||||
|
Loading…
Reference in New Issue
Block a user