pthread_condattr_setclock()

Установить значение атрибута часов в атрибутной записи условной переменной

Прототип:

#include <pthread.h>
int pthread_condattr_setclock( pthread_condattr_t *attr,
clockid_t id );

Аргументы:

attr
Указатель на объект pthread_condattr_t, для которого необходимо установить атрибут. Данный объект должен быть инициализирован с помощью функции pthread_condattr_init().
id
Объект clockid_t, который определяет идентификатор часов, который необходимо использовать для условной переменной:
CLOCK_REALTIME
стандартные регламентированные POSIX часы. Таймеры этих часов приводят к пробуждению CPU даже из состояний сбережения энергии.
CLOCK_SOFTTIME
таймеры активны только тогда, когда CPU не находится в состоянии сбережения энергии; если CPU не находится в таком состоянии, то поведение таймеров соответствует CLOCK_REALTIME.
CLOCK_MONOTONIC
данные часы и таймеры всегда увеличиваются и не могут быть скорректированы (подведены).

Библиотека:

libc

Описание:

Функция pthread_condattr_setclock() позвляет установить идентификатор часов который необходимо использовать для условной переменной в инициализированном объекте attr. Вызов завершается с ошибкой, если pthread_condattr_setclock() вызвана с id, который определяет CPU-часы.

Условная переменная использует этот атрибут для выдерживания таймаутов в pthread_cond_timedwait(). По умолчанию используются системные часы.

Возвращаемое значение:

EOK
Успешное завершение.
EINVAL
Значение attr некорректно.

Классификация:

POSIX 1003.1 Threads, Clock Selection

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

pthread_cond_init(), pthread_cond_timedwait(), pthread_condattr_destroy(), pthread_condattr_getclock(), pthread_condattr_getpshared(), pthread_condattr_init(), pthread_condattr_setpshared(), pthread_create()




Предыдущий раздел: Описание API системной библиотеки