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?