У меня есть следующий код, где я использую lock_guard для именованного мьютекса, так что блокировка мьютекса освобождается после завершения выполнения кода (включая созданные исключения)
#include <boost/interprocess/sync/named_mutex.hpp>
using namespace boost::interprocess;
int main()
{
named_mutex mutex(open_or_create, "some_name");
boost::lock_guard<named_mutex> guard(mutex);
// Do other things
}
Но код зависает наboost :: lock_guard guard (mutex);и не перейти к следующей строке.Почему?