Class interprocess_recursive_mutex
boost::interprocess::interprocess_recursive_mutex
 
Synopsis
Description
Обертывает interprocess_mutex, который может быть размещен в общей памяти и может быть разделен между процессами. Позволяет блокировать несколько звонков одним и тем же способом. Позволяет тайм-блокировать попытки
interprocess_recursive_mutex 
        public
       construct/copy/destruct
- interprocess_recursive_mutex(); - Конструктор. Бросает - interprocess_исключениена ошибку.
 
- ~interprocess_recursive_mutex(); - Destructor. Если какой-либо процесс использует мутекс после того, как деструктор называется, результат не определен. Не бросает.  
 
interprocess_recursive_mutex public member functions
- void lock(); - Последствия: Вызывающая нить пытается получить право собственности на mutex, и если другая нить имеет право собственности на mutex, она ждет, пока не сможет получить право собственности. Если поток приобретает право собственности на mutex, mutex должен быть разблокирован тем же mutex. Мутекс должен быть разблокирован столько же раз, сколько и заблокирован. Броски: - interprocess_ Exceptionпо ошибке.
 
- bool try_lock; - Попытки заблокировать - interprocess_mutex, возвращает ложное, когда- interprocess_mutexуже заблокирован, возвращает истинное при успехе. Мутекс должен быть разблокирован столько же раз, сколько и заблокирован. Броски:- interprocess_ Исключение, если обнаружена серьезная ошибка
 
- booltimed_lock(constposix_time::ptime&abs_time); - Следует блокировать - interprocess_mutex, если- interprocess_mutexне может быть заблокирован до abs_time, возвращает ложное. Мутекс должен быть разблокирован столько же раз, сколько и заблокирован. Броски:- interprocess_ Exception, если обнаружена серьезная ошибка
 
- void unlock(); - Последствия: Вызывающий поток освобождает исключительное право собственности на mutex. Если mutex поддерживает рекурсивную блокировку, mutex должен быть разблокирован столько же раз, сколько и заблокирован. Броски: - interprocess_ Exceptionпо ошибке.