36int main(
int argc,
char **argv) {
40 int child_exit_status, exit_status;
44 printf(
"Orignal Mask: %s\n",
buf);
47 printf(
"Only one processor in affinity mask, skipping test.\n");
54 printf(
"Hello! Thread %d executed single region in parent process\n",
55 omp_get_thread_num());
70 printf(
"Hello! Thread %d executed single region in child process\n",
71 omp_get_thread_num());
77 fprintf(stderr,
"Original Mask = %s\n",
buf);
79 fprintf(stderr,
"New Mask = %s\n",
buf);
81 fprintf(stderr,
"Child affinity mask did not reset properly\n");
85 exit_status = EXIT_SUCCESS;
87 pid_t child_pid = pid;
88 pid = wait(&child_exit_status);
93 if (WIFEXITED(child_exit_status)) {
94 exit_status = WEXITSTATUS(child_exit_status);
96 exit_status = EXIT_FAILURE;
void const char const char int ITT_FORMAT __itt_group_sync x void const char ITT_FORMAT __itt_group_sync s void ITT_FORMAT __itt_group_sync p void ITT_FORMAT p void ITT_FORMAT p no args __itt_suppress_mode_t unsigned int mask
static void affinity_mask_copy(affinity_mask_t *dest, const affinity_mask_t *src)
static int affinity_mask_isset(const affinity_mask_t *mask, int cpu)
static affinity_mask_t * affinity_mask_alloc()
static int affinity_mask_count(const affinity_mask_t *mask)
#define AFFINITY_MAX_CPUS
static void set_thread_affinity(const affinity_mask_t *mask)
static int affinity_mask_equal(const affinity_mask_t *mask1, const affinity_mask_t *mask2)
static void affinity_mask_clr(affinity_mask_t *mask, int cpu)
static void affinity_mask_free(affinity_mask_t *mask)
static size_t affinity_mask_snprintf(char *buf, size_t bufsize, const affinity_mask_t *mask)
static void get_thread_affinity(affinity_mask_t *mask)
void set_subset_affinity(affinity_mask_t *mask)