Pthread_setaffinity_np неверный аргумент - PullRequest
2 голосов
/ 17 января 2012

Я пытаюсь изменить сродство каждого потока в процедуре запуска.

Вот код. В приведенном ниже коде 't' является аргументом, переданным через функцию pthread_create.

    cpu_set_t mask;
    pthread_t c;

    a = *((int *)t);

    printf(" thread no. is %d \n",a);

    CPU_ZERO(&mask);

    a =a/2 + 1;

    CPU_SET(a,&mask);

    c=pthread_self();
    s=pthread_setaffinity_np(c,sizeof(cpu_set_t), &mask);
    if (s!=0)
        handle_error_en(s,"pthread_setaffinity_np");

Сходство потока не изменяется. Куда я иду не так?

1 Ответ

1 голос
/ 01 февраля 2012

Я неправильно понял границы маски.Вот где я ошибался.

...