|
Boost-Commit : |
From: igaztanaga_at_[hidden]
Date: 2007-08-25 15:18:29
Author: igaztanaga
Date: 2007-08-25 15:18:28 EDT (Sat, 25 Aug 2007)
New Revision: 38954
URL: http://svn.boost.org/trac/boost/changeset/38954
Log:
#1211: Interprocess tests hang when run in parallel
#1080 boost::interprocess win32 global file mapping issue
Text files modified:
trunk/boost/interprocess/containers/detail/node_alloc_holder.hpp | 2 +-
trunk/boost/interprocess/containers/detail/tree.hpp | 20 +++++++++++---------
2 files changed, 12 insertions(+), 10 deletions(-)
Modified: trunk/boost/interprocess/containers/detail/node_alloc_holder.hpp
==============================================================================
--- trunk/boost/interprocess/containers/detail/node_alloc_holder.hpp (original)
+++ trunk/boost/interprocess/containers/detail/node_alloc_holder.hpp 2007-08-25 15:18:28 EDT (Sat, 25 Aug 2007)
@@ -257,7 +257,7 @@
{
NodePtr p = this->allocate_one();
Deallocator node_deallocator(p, *this);
- ::boost::interprocess::construct_in_place(detail::get_pointer(p), it);
+ construct_in_place(detail::get_pointer(p), it);
node_deallocator.release();
return (p);
}
Modified: trunk/boost/interprocess/containers/detail/tree.hpp
==============================================================================
--- trunk/boost/interprocess/containers/detail/tree.hpp (original)
+++ trunk/boost/interprocess/containers/detail/tree.hpp 2007-08-25 15:18:28 EDT (Sat, 25 Aug 2007)
@@ -167,6 +167,17 @@
#endif
};
+}//namespace detail {
+
+template<class T, class VoidPointer>
+struct has_own_construct_from_it
+ < boost::interprocess::detail::rbtree_node<T, VoidPointer> >
+{
+ static const bool value = true;
+};
+
+namespace detail {
+
template<class A, class ValueCompare>
struct intrusive_rbtree_type
{
@@ -189,15 +200,6 @@
} //namespace detail {
-//This specialization is necessary since std::pair is not movable.
-//We need to hack the constructor to add move semantics
-//to rbtrees
-template<class T, class VoidPointer, class InpIt>
-inline void construct_in_place(detail::rbtree_node<T, VoidPointer>* dest, InpIt source)
-{
- detail::rbtree_node<T, VoidPointer>::construct(dest, *source);
-}
-
namespace detail {
template <class Key, class Value, class KeyOfValue,
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk