
Hi, As the docs do not explicitly say otherwise, I guess I must assume that boost::shared_mutex is not recursive with respect to unique ownership, that is, the following behavior ensues: shared_mutex mutex; lock_guard<shared_mutex> lock1(mutex); lock_guard<shared_mutex> lock2(mutex); // DEADLOCK Is this so? In case boost::shared_mutex is indeed non-recursive, I've read the following assertion on Hinnant's paper N2406 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2406.html ): "A recursive shared mutex could be built upon shared_mutex if desired, but this is not proposed." Does anyone has a reference on how to construct a recursive shared_mutex from a non-recursive one? Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo