I'm using boost::interprocess::named_upgradable_mutex to synchronize a few processes.
I'm using boost::interprocess::sharable_lock and boost::interprocess::scoped_lock to lock the mutex.
When testing the synchronization, it looks fine as long as the processes are working, and are closed normally.
But, I've notices that if a process is killed (via TaskManager for example) while holding the mutex, the mutex remains locked.
Any idea how i can handle process failures ?
I've thought about using timed_lock() just in case... any other ideas?