diff --git a/configure.ac b/configure.ac index 3a70375010..1670a4115a 100644 --- a/configure.ac +++ b/configure.ac @@ -2604,6 +2604,16 @@ AC_CHECK_DECLS([BRDGSFD, BRDGADD, BRDGDEL], #include ]) +# 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 + #include + ]) + # 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 827143c389..83d0679e76 100644 --- a/src/util/virprocess.c +++ b/src/util/virprocess.c @@ -34,11 +34,14 @@ #ifdef __FreeBSD__ # include -# include # include # include #endif +#ifdef HAVE_BSD_CPU_AFFINITY +# include +#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)