Subject: Re: [boost] Review Request: boost.lockfree
From: Gottlob Frege (gottlobfrege_at_[hidden])
Date: 2009-11-24 22:33:15
> - that free_list thing...looks very much like an allocator.
> I understand that you want to make sure that push/pop doesn't call the default allocator (-> mutex lock), but couldn't you make lock-free containers accept stateful allocators and provide a default allocator that keeps free-d objects in a free_list?
> am I missing a reason why you need a seperate allocation interface? I haven't found the concept the free_list_t template parameter in the documentation, can it do anythiong beyond what the interface of a std::allocator provides?
typically with lockfree it is hard to truly free anything because some
thread may still be lingering on the node you are freeing. So you need
a free list that maybe recycles but never actually frees.
IIRC that is the case with this library, unless it has changed since I
first saw it.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk