Это кажется мне совершенно логичным:)
Когда происходит сбой приложения, мьютекс, который отображается на механизм межпроцессного взаимодействия ОС (IPC), не освобождается.Когда ваше приложение перезапускается, оно пытается получить мьютекс безуспешно!
Я полагаю, ваше приложение имеет разные подсистемы (процессы), которые необходимо синхронизировать.
В случае необходимости вы должны разработать глобальную политикуаварии одной из ваших подсистем, чтобы правильно управлять блокировкой.Например, в случае сбоя одной из ваших подсистем она должна попытаться разблокировать мьютекс при запуске.Это может быть сложно, так как другие подсистемы используют эту блокировку.Тайм-ауты тоже могут помочь.В любом случае вы должны разработать политику, имея в виду, что любой из ваших процессов может аварийно завершить работу, заблокировав мьютекс ...
Конечно, если вам не нужна межпроцессная блокировка, используйте простые блокировки с областью действия:)
my2c