SCHED_GETCPU(3)

ИМЯ
sched_getcpu - определяет ЦП, на котором выполняется вызывающая нить

ОБЗОР
#include <sched.h>
int sched_getcpu(void);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

sched_getcpu():
    Начиная с glibc 2.14:
        _GNU_SOURCE
    До glibc 2.14:
        _BSD_SOURCE || _SVID_SOURCE
            /* также достаточно _GNU_SOURCE */

ОПИСАНИЕ
sched_getcpu() возвращает номер центрального процессора, на котором выполняется вызывающая нить.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении sched_getcpu() возвращает неотрицательный номер ЦП. При ошибке возвращается -1 и errno устанавливается в соответствующее значение.

ОШИБКИ

ENOSYS
    В данном ядре getcpu(2) не реализован.

ВЕРСИИ
Эта функция доступна в glibc начиная с версии 2.6.

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
sched_getcpu() | Безвредность в нитях | MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ
sched_getcpu() есть только в glibc.

ЗАМЕЧАНИЯ
Вызов
cpu = sched_getcpu();
эквивалентен следующему вызову getcpu(2):
int c, s;
s = getcpu(&c, NULL, NULL);
cpu = (s == -1) ? s : c;

СМОТРИТЕ ТАКЖЕ
getcpu(2), sched(7)