|
Boost : |
Subject: [boost] Lockfree impl comment - does not seem to be compatible with Boost::Interprocess (shared memory) [SEC=UNCLASSIFIED]
From: Levy, Gabriel (Contractor) (Gabriel.Levy_at_[hidden])
Date: 2011-07-27 03:50:26
UNCLASSIFIED
Hi,
Since Lockfree library (by Tim Blechmann) is in the review stage I have
a comment to make.
I only looked at the code just at a glance to check if it would be able
to be used with Boost::Interprocess library, especially to be placed in
the shared memory and to me it definitely doesn't seem to deduce the
pointer types from the Allocation supplied as a template argument.
For any container implementation to be useable with Interprocess shared
memory the requirement is that any internal pointer types are not
explicitly stated - instead they aggregate the pointer types from the
Allocator's internal pointer typedefs. By this the container will use
"smart" or plain pointers, whichever the Allocators specify/define.
Good place to look at for how this should be done is
<boost/interprocess/containers/map.hpp> and other containers'
implementation in that location.
Also the Interprocess documentation explains why, for instance, the
std::map or std::vector containers are incorrectly (not generically
enough) implemented and suggests a possibility of potential future
corrections in STL implementations (that part is only speculative, of
course).
While in its current form it is already very useful in intra-process
applications, I would consider the incompatiblity with Interprocess'
shared memory a hugely missed opportunity.
My recommendation would be to first to address this issue before
accepting it for inclusion.
Thank you all so much for the Boost - the best thing that happened to
C++.
Kindest regards
Gabe
Gabe Levy
Senior Software Engineer, Contractor, Estrings Pty Ltd
IMPORTANT: This email remains the property of the Department of Defence
and is subject to the jurisdiction of section 70 of the Crimes Act 1914.
If you have received this email in error, you are requested to contact
the sender and delete the email.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk