Я использовал boost::interprocess
для создания boost::multi_index
структуры данных в разделяемой памяти.Есть много клиентских процессов, которые будут обращаться к этой структуре данных.При доступе я заблокирую структуру данных.Проблема, с которой я столкнулся, заключается в том, что как только клиентский процесс получает доступ к структуре данных и падает, не снимая занятую блокировку, все остальные клиентские процессы не могут получить доступ к структуре данных.Я использую boost::interprocess::named_mutex
, я знаю, что boost::interprocess::file_lock
может автоматически освобождаться при сбое процесса, но поскольку у него много ограничений, поэтому я не пользуюсь, я не знаю, есть ли хороший способ решить эту проблемупроблема, спасибо!