Обработка дампов ядра при удержании boost :: interprocess shared memory lock

Я работаю над приложением, в котором несколько многопоточных процессов пытаются получить блокировку файлов общей памяти, управляемых с помощью boost :: interprocess (scoped_lock для named_mutex).

Похоже, что если один из этих процессов сбрасывает ядро, удерживая блокировку файла общей памяти, все остальные процессы в конечном итоге ожидают снятия этой блокировки.

Любые идеи о том, как это можно преодолеть? Я хочу убедиться, что когда процесс, который удерживает блокировку, умирает, он должен гарантировать, что блокировка снята.

Одна проблема, которую я вижу, заключается в том, что я не вызываю деструктор объекта named_mutex. Может ли это быть причиной этой проблемы? Гарантированно вызывается деструктор при сбросе ядра процесса?

Спасибо!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]