How do I take ownership of an abandoned boost::interprocess::interprocess_mutex?
My scenario: one server and some clients (though not many). The server can only respond to one client at a time, so they must be queued up. I'm using a mutex ( boost::interprocess::interprocess_mutex ) to do this, wrapped in a boost::interprocess::scoped_lock . The thing is, if one client dies unexpectedly (i.e. no destructor runs) while holding the mutex, the other clients are in trouble, because they are waiting on that mutex. I've considered using timed wait, so if I client waits for, say, 20 seconds and doesn't get the mutex, it goes ahead and talks to the server anyway. Problems with this