|
Эта страница руководства является частью версии 5.0 Инструментов XCodeПолучить эти инструменты:
Если Вы выполняете версию Инструментов XCode кроме 5,0, просматриваете документацию локально:
Читать страницы руководстваСтраницы руководства предназначаются как справочник для людей, уже понимающих технологию.
|
SEM_WAIT(2) BSD System Calls Manual SEM_WAIT(2) NAME sem_trywait, sem_wait -- lock a semaphore SYNOPSIS #include <semaphore.h> int sem_trywait(sem_t *sem); int sem_wait(sem_t *sem); DESCRIPTION The semaphore referenced by sem is locked. When calling sem_wait(), if the semaphore's value is zero, the calling thread will block until the lock is acquired or until the call is interrupted by a signal. Alternatively, the sem_trywait() function will fail if the semaphore is already locked, rather than blocking on the semaphore. If successful (the lock was acquired), sem_wait() and sem_trywait() will return 0. Otherwise, -1 is returned and errno is set, and the state of the semaphore is unchanged. ERRORS sem_wait() and sem_trywait() succeed unless: [EAGAIN] The semaphore is already locked. [EDEADLK] A deadlock was detected. [EINTR] The call was interrupted by a signal. [EINVAL] sem is not a valid semaphore descriptor. NOTES Applications may encounter a priority inversion while using semaphores. When a thread is waiting on a semaphore which is about to be posted by a lower-priority thread and the lower-priority thread is pre-empted preempted empted by another thread (of medium priority), a priority inversion has occured, and the higher-prior-ity higher-priority ity thread will be blocked for an unlimited time period. Programmers using the realtime functionality of the system should take care to avoid priority inversions. SEE ALSO sem_open(2), sem_post(2), semctl(2), semget(2), semop(2) HISTORY sem_wait() and sem_trywait() are specified in the POSIX Realtime Extension (1003.1b-1993/1003.1i-1995). Darwin June 8, 2000 Darwin |
Сообщение о проблемах
Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:
- Ошибки содержания
- Ошибки отчета в содержании этой документации со ссылками на отзыв ниже.
- Отчеты об ошибках
- Сообщите об ошибках в функциональности описанного инструмента или API через Генератор отчетов Ошибки.
- Форматирование проблем
- Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.