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