コードの実行が終了したときにミューテックスロックが解放されるように、名前付きミューテックスに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); でハングします。次の行に進みません。なんで?