Тот факт, что вы генерируете исключение, означает, что он не ожидает освобождения каких-либо существующих исключительных или разделяемых блокировок (это должен быть блокирующий вызов). Убедитесь, что у вас действительно правильное имя файла, или проверьте код ошибки в boost::interprocess_exception
, который выдается, используя методы what()
, get_native_error()
или get_error_code()
. Например, у вас может быть проблема с правами доступа к файлу, или файл может не существовать, и т. Д. Исключение не вызывается из-за конфликта блокировок, так что это не ваша проблема ...