Boost logo

Boost Users :

Subject: [Boost-users] [rerepost][threads] recursive shared_mutex
From: joaquin_at_[hidden]
Date: 2009-05-05 09:51:38

I promise this is the last time I repost this; if I got no response I'll go
and try somewhere else :-/ thanks for your patience.

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
( ):
  "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

Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at