
Ion GaztaƱaga <igaztanaga@gmail.com> writes:
Hi to all,
I've just finished implementing the lockable objects of Kevlin's proposal based on Boost mutexes and conditions. Since boost mutex operations are private and only available with locks, I haven't found a way to implement Kevlin's interface over boost threads without using some very nasty tricks. If someone has a better idea, let me know.
The implementation nearly fills all the proposal of the documentation, so I will wait for new elements so that I can continue with this project. This elements are present in the current version:
-> threader and joiner classes -> lockable, try_lockable, condition_lockable -> locker, try_locker -> locking_ptr
There are open issues in the paper like timeout handling and new possible lockers, (for example, for conditional_lockable objects). As soon as I get more information I will continue developing it.
I don't want to be a buzz-kill and I know it's not glamorous, but I'm really concerned about the health of the existing Boost.Thread primitives. IIUC, none of these cool high-level components you're working on can act as full replacements for the existing stuff. In particular, for example, the Boost.Thread documentation needs a lot of work. The code, apparently, needs a rewrite in order to get it to use the Boost license, but that's probably too much to hope for right now. I'd really like to know that the existing library is being actively and conscientiously maintained before we move on to bigger and better things. -- Dave Abrahams Boost Consulting www.boost-consulting.com