
Peter Dimov wrote: [... Mutex * mutex() const ...] And the Mutex thing (std0X::whatever) shall also provide something like pthread_mutex_t * c_mutex(); pthread_mutex_t const * c_mutex() const; That pthread_mutex_t shall be defined in <cthread> (and it shall of course also be available through *deprecated* <pthread.h>) and shall perform dynamic dispatching for "C-style" code (depending on "C++ mutex type"). Oder?
I can't speak for the boost implementation (haven't carefully studied it), but the Metrowerks implementation also supports conditions operating on a recursive mutex.
Interesting. I presume that this was a deliberate design decision.
It has a precondition "lock.mutex()->locked() && lock.mutex()-> lock_count() == 1" (or something like that... brrrr, so many "lock" things... "guard" would sound much better ;-) ) regards, alexander.