Check for presence of sys/cpuset.h header and cpuset_getaffinity() in configure instead of just using #ifdef __FreeBSD__ for that code. --- configure.ac | 10 ++++++++++ src/util/virprocess.c | 7 +++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 3a70375..1670a41 100644 --- a/configure.ac +++ b/configure.ac @@ -2604,6 +2604,16 @@ AC_CHECK_DECLS([BRDGSFD, BRDGADD, BRDGDEL], #include <net/if_bridgevar.h> ]) +# Check for BSD CPU affinity availability +AC_CHECK_DECLS([cpuset_getaffinity], + [AC_DEFINE([HAVE_BSD_CPU_AFFINITY], + [1], + [whether BSD CPU affinity management is available])], + [], + [#include <sys/param.h> + #include <sys/cpuset.h> + ]) + # Check if we need to look for ifconfig if test "$want_ifconfig" = "yes"; then AC_PATH_PROG([IFCONFIG_PATH], [ifconfig]) diff --git a/src/util/virprocess.c b/src/util/virprocess.c index 827143c..83d0679 100644 --- a/src/util/virprocess.c +++ b/src/util/virprocess.c @@ -34,11 +34,14 @@ #ifdef __FreeBSD__ # include <sys/param.h> -# include <sys/cpuset.h> # include <sys/sysctl.h> # include <sys/user.h> #endif +#ifdef HAVE_BSD_CPU_AFFINITY +# include <sys/cpuset.h> +#endif + #include "viratomic.h" #include "virprocess.h" #include "virerror.h" @@ -457,7 +460,7 @@ realloc: return 0; } -#elif defined(__FreeBSD__) +#elif defined(HAVE_BSD_CPU_AFFINITY) int virProcessSetAffinity(pid_t pid ATTRIBUTE_UNUSED, virBitmapPtr map) -- 1.8.4.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list