fi
;; #(
- *-freebsd*|*-openbsd*) :
+ *-freebsd*|*-openbsd*|*-netbsd*) :
LDFLAGS="${LDFLAGS} -Wl,-E"
SO_CFLAGS="-fpic"
fi
;; #(
- *-netbsd*) :
-
- SO_CFLAGS="-fpic"
- SO_LDFLAGS="-Bshareable -x"
- SO_LD="ld"
- SO_STRIP="sed -e s/-Wl,//g"
- ;; #(
*-solaris*) :
SO_CFLAGS="-KPIC"
SO_LD="${CC}"
])
],
- [*-freebsd*|*-openbsd*],[
+ [*-freebsd*|*-openbsd*|*-netbsd*],[
LDFLAGS="${LDFLAGS} -Wl,-E"
SO_CFLAGS="-fpic"
AS_IF([test "$use_libtool" = "yes"],[
SO_LD="${CC}"
])
],
- [*-netbsd*],[
- SO_CFLAGS="-fpic"
- SO_LDFLAGS="-Bshareable -x"
- SO_LD="ld"
- SO_STRIP="sed -e s/-Wl,//g"
- ],
[*-solaris*],[
SO_CFLAGS="-KPIC"
SO_LDFLAGS="-G -z text"
return (ISC_R_SUCCESS);
}
+#ifdef __NetBSD__
+#define pthread_setconcurrency(a) (void) a/* nothing */
+#endif
+
void
isc_thread_setconcurrency(unsigned int level) {
(void)pthread_setconcurrency(level);
* macOS has pthread_setname_np but only works on the
* current thread so it's not used here
*/
+#if defined(__NetBSD__)
+ (void)pthread_setname_np(thread, name, NULL);
+#else
(void)pthread_setname_np(thread, name);
+#endif
#elif defined(HAVE_PTHREAD_SET_NAME_NP)
(void)pthread_set_name_np(thread, name);
#else
return (ISC_R_FAILURE);
}
#elif defined(HAVE_PTHREAD_SETAFFINITY_NP)
+#if defined(__NetBSD__)
+ cpuset_t *cset;
+ cset = cpuset_create();
+ if (cset == NULL)
+ return (ISC_R_FAILURE);
+ cpuset_set(cpu, cset);
+ if (pthread_setaffinity_np(pthread_self(),
+ cpuset_size(cset), cset) != 0)
+ {
+ cpuset_destroy(cset);
+ return (ISC_R_FAILURE);
+ }
+ cpuset_destroy(cset);
+#else /* linux? */
cpu_set_t set;
CPU_ZERO(&set);
CPU_SET(cpu, &set);
{
return (ISC_R_FAILURE);
}
+#endif /* __NetBSD__ */
#elif defined(HAVE_PROCESSOR_BIND)
if (processor_bind(P_LWPID, P_MYID, cpu, NULL) != 0) {
return (ISC_R_FAILURE);