определить процессор, на котором запущен вызывающий поток (determine CPU on which the calling thread is running)
Имя (Name)
sched_getcpu - determine CPU on which the calling thread is
running
Синопсис (Synopsis)
#include <sched.h>
int sched_getcpu(void);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
sched_getcpu
():
Since glibc 2.14:
_GNU_SOURCE
Before glibc 2.14:
_BSD_SOURCE || _SVID_SOURCE
/* _GNU_SOURCE also suffices */
Описание (Description)
sched_getcpu
() returns the number of the CPU on which the calling
thread is currently executing.
Возвращаемое значение (Return value)
On success, sched_getcpu
() returns a nonnegative CPU number. On
error, -1 is returned and errno is set to indicate the error.
Ошибки (Error)
ENOSYS
This kernel does not implement getcpu(2).
Версии (Versions)
This function is available since glibc 2.6.
Атрибуты (Attributes)
For an explanation of the terms used in this section, see
attributes(7).
┌──────────────────────────────────────┬───────────────┬─────────┐
│Interface
│ Attribute
│ Value
│
├──────────────────────────────────────┼───────────────┼─────────┤
│sched_getcpu
() │ Thread safety │ MT-Safe │
└──────────────────────────────────────┴───────────────┴─────────┘
Стандарты (Conforming to)
sched_getcpu
() is glibc-specific.
Примечание (Note)
The call
cpu = sched_getcpu();
is equivalent to the following getcpu(2) call:
int c, s;
s = getcpu(&c, NULL, NULL);
cpu = (s == -1) ? s : c;
Смотри также (See also)
getcpu(2), sched(7)