|
Boost : |
From: Michael Glassford (glassfordm_at_[hidden])
Date: 2002-10-21 09:09:03
As far as I can tell, this was a preliminary version only and there is
currently no work being done on it and no attempt is being made to include
it into Boost.
However, as I needed an rw_lock class a couple of months ago, I started
working on the version in the files section and ended up with an updated
version of it that:
a) Fixes a couple of bugs
b) Implements promotion of locks
c) Makes some naming changes for consistency
(Please note that I am not the original author of the rw_lock library).
The biggest limitations that I am aware of in both the version in the files
section and my updated version are:
a) As I understand it, an implementation of rw locks using condition
variables, etc., (such as this one), although it may be correct, will be
inefficient. I hope at some point to address this, particularly if there is
interest from others.
b) As is made clear in the sources, there are a number of ways to cause
deadlocks that the library could perhaps detect and handle.
If you search the Boost archive for "rwlock" and "rwmutex", you should find
a several very detailed comments about additional limitations and problems
(some of these were addressed in the v2 files currently in the files
section, others were not).
I would be glad to upload my modified files to the Boost files section
(although I'd like to update the docs first to match my changes), but it
appears that I don't have permission to do so.
I can also send the files to you if you'd like.
Mike
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk