xref: /llvm-project/third-party/benchmark/cmake/pthread_affinity.cpp (revision a5b797172cc902db166e9a695716fb81405f86e4)
1*a5b79717SMircea Trofin #include <pthread.h>
main()2*a5b79717SMircea Trofin int main() {
3*a5b79717SMircea Trofin   cpu_set_t set;
4*a5b79717SMircea Trofin   CPU_ZERO(&set);
5*a5b79717SMircea Trofin   for (int i = 0; i < CPU_SETSIZE; ++i) {
6*a5b79717SMircea Trofin     CPU_SET(i, &set);
7*a5b79717SMircea Trofin     CPU_CLR(i, &set);
8*a5b79717SMircea Trofin   }
9*a5b79717SMircea Trofin   pthread_t self = pthread_self();
10*a5b79717SMircea Trofin   int ret;
11*a5b79717SMircea Trofin   ret = pthread_getaffinity_np(self, sizeof(set), &set);
12*a5b79717SMircea Trofin   if (ret != 0) return ret;
13*a5b79717SMircea Trofin   ret = pthread_setaffinity_np(self, sizeof(set), &set);
14*a5b79717SMircea Trofin   if (ret != 0) return ret;
15*a5b79717SMircea Trofin   return 0;
16*a5b79717SMircea Trofin }
17