
Peter Dimov wrote:
Indeed, sorry for not paying attention. But the only point of locking a mutex is to be able to do that from two different threads at the same time. If you know that only one thread is accessing the scoped_lock at a time, you wouldn't need a scoped_lock in the first place.
Could you please provide an example where it is not possible to solve the problem with scoped_lock only? I simply cannot find one. Currently this would be the only "killer argument" for my proposed aggregate/POD type mutex. Therfore I am very interested in this.
.... Sometimes you just need to lock the mutex in one place and unlock it in another, and there is no way around it.
Are you thinking the following kind of scenario? void foo() { scoped_lock lk(mx); bar(lk); } void bar(scoped_lock& lk) { lk.unlock(); } Roland