ОБЗОР
#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;