From b68e12a681a3fef264a199eb4f77b13607391cc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Wed, 22 Aug 2012 11:26:55 +0000 Subject: [PATCH] Updated copyright end year [SVN r80138] --- example/Jamfile.v2 | 2 +- example/comp_doc_anonymous_conditionA.cpp | 2 +- example/comp_doc_anonymous_conditionB.cpp | 2 +- example/comp_doc_anonymous_mutexA.cpp | 2 +- example/comp_doc_anonymous_mutexB.cpp | 2 +- example/comp_doc_anonymous_semaphoreA.cpp | 2 +- example/comp_doc_anonymous_semaphoreB.cpp | 2 +- .../comp_doc_anonymous_upgradable_mutexA.cpp | 2 +- .../comp_doc_anonymous_upgradable_mutexB.cpp | 2 +- example/comp_doc_message_queueA.cpp | 2 +- example/comp_doc_message_queueB.cpp | 2 +- example/doc_adaptive_pool.cpp | 2 +- example/doc_allocator.cpp | 2 +- .../doc_anonymous_condition_shared_data.hpp | 2 +- example/doc_anonymous_mutex_shared_data.hpp | 2 +- .../doc_anonymous_semaphore_shared_data.hpp | 2 +- example/doc_anonymous_shared_memory.cpp | 4 +- example/doc_bufferstream.cpp | 4 +- example/doc_cached_adaptive_pool.cpp | 2 +- example/doc_cached_node_allocator.cpp | 2 +- example/doc_complex_map.cpp | 2 +- example/doc_cont.cpp | 2 +- example/doc_file_mapping.cpp | 2 +- example/doc_intrusive.cpp | 2 +- example/doc_ipc_message.cpp | 2 +- example/doc_managed_aligned_allocation.cpp | 4 +- example/doc_managed_allocation_command.cpp | 2 +- example/doc_managed_construction_info.cpp | 2 +- example/doc_managed_copy_on_write.cpp | 4 +- example/doc_managed_external_buffer.cpp | 4 +- example/doc_managed_grow.cpp | 2 +- example/doc_managed_heap_memory.cpp | 6 +- example/doc_managed_mapped_file.cpp | 8 +-- example/doc_managed_multiple_allocation.cpp | 2 +- example/doc_managed_raw_allocation.cpp | 2 +- example/doc_map.cpp | 2 +- example/doc_move_containers.cpp | 6 +- example/doc_multi_index.cpp | 2 +- example/doc_named_alloc.cpp | 6 +- example/doc_named_condition_shared_data.hpp | 2 +- example/doc_named_mutex.cpp | 4 +- example/doc_node_allocator.cpp | 2 +- example/doc_offset_ptr.cpp | 2 +- example/doc_private_adaptive_pool.cpp | 4 +- example/doc_private_node_allocator.cpp | 4 +- example/doc_scoped_ptr.cpp | 4 +- example/doc_shared_memory.cpp | 2 +- example/doc_shared_ptr.cpp | 6 +- example/doc_shared_ptr_explicit.cpp | 4 +- example/doc_spawn_vector.cpp | 2 +- example/doc_unique_ptr.cpp | 8 +-- example/doc_unordered_map.cpp | 2 +- example/doc_upgradable_mutex_shared_data.hpp | 2 +- example/doc_vectorstream.cpp | 2 +- example/doc_where_allocate.cpp | 4 +- example/doc_windows_shared_memory.cpp | 2 +- example/doc_xsi_shared_memory.cpp | 2 +- proj/vc7ide/Interprocess.sln | 16 +++++ proj/vc7ide/condition_test.vcproj | 10 +-- test/adaptive_node_pool_test.cpp | 2 +- test/adaptive_pool_test.cpp | 2 +- test/allocator_v1.hpp | 4 +- test/allocexcept_test.cpp | 6 +- test/anonymous_shared_memory_test.cpp | 2 +- test/boost_interprocess_check.hpp | 2 +- test/bufferstream_test.cpp | 8 +-- test/cached_adaptive_pool_test.cpp | 2 +- test/cached_node_allocator_test.cpp | 2 +- test/check_equal_containers.hpp | 2 +- test/condition_test.cpp | 2 +- test/condition_test_template.hpp | 28 ++++---- test/data_test.cpp | 2 +- test/deque_test.cpp | 8 +-- test/dummy_test_allocator.hpp | 2 +- test/emplace_test.hpp | 2 +- test/enable_shared_from_this_test.cpp | 2 +- test/expand_bwd_test_allocator.hpp | 6 +- test/expand_bwd_test_template.hpp | 2 +- test/file_lock_test.cpp | 2 +- test/file_mapping_test.cpp | 6 +- test/flat_map_index_allocation_test.cpp | 2 +- test/flat_tree_test.cpp | 12 ++-- test/get_process_id_name.hpp | 2 +- test/heap_allocator_v1.hpp | 4 +- test/intermodule_singleton_test.cpp | 6 +- test/named_condition_test.cpp | 66 ++++--------------- 86 files changed, 179 insertions(+), 197 deletions(-) diff --git a/example/Jamfile.v2 b/example/Jamfile.v2 index b2d7194..5362e33 100644 --- a/example/Jamfile.v2 +++ b/example/Jamfile.v2 @@ -1,6 +1,6 @@ # Boost Interprocess Library Example Jamfile -# (C) Copyright Ion Gaztanaga 2006. +# (C) Copyright Ion Gaztanaga 2006-2012. # Use, modification and distribution are subject to the # Boost Software License, Version 1.0. (See accompanying file # LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/example/comp_doc_anonymous_conditionA.cpp b/example/comp_doc_anonymous_conditionA.cpp index f015a9e..79aef83 100644 --- a/example/comp_doc_anonymous_conditionA.cpp +++ b/example/comp_doc_anonymous_conditionA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_conditionB.cpp b/example/comp_doc_anonymous_conditionB.cpp index ba8c2d8..a1694dc 100644 --- a/example/comp_doc_anonymous_conditionB.cpp +++ b/example/comp_doc_anonymous_conditionB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_mutexA.cpp b/example/comp_doc_anonymous_mutexA.cpp index d27933f..16793af 100644 --- a/example/comp_doc_anonymous_mutexA.cpp +++ b/example/comp_doc_anonymous_mutexA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_mutexB.cpp b/example/comp_doc_anonymous_mutexB.cpp index 4cc73a6..1365ad5 100644 --- a/example/comp_doc_anonymous_mutexB.cpp +++ b/example/comp_doc_anonymous_mutexB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_semaphoreA.cpp b/example/comp_doc_anonymous_semaphoreA.cpp index 800e91a..34e9960 100644 --- a/example/comp_doc_anonymous_semaphoreA.cpp +++ b/example/comp_doc_anonymous_semaphoreA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_semaphoreB.cpp b/example/comp_doc_anonymous_semaphoreB.cpp index cc5b592..0ee5362 100644 --- a/example/comp_doc_anonymous_semaphoreB.cpp +++ b/example/comp_doc_anonymous_semaphoreB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_upgradable_mutexA.cpp b/example/comp_doc_anonymous_upgradable_mutexA.cpp index a4e2bef..7296990 100644 --- a/example/comp_doc_anonymous_upgradable_mutexA.cpp +++ b/example/comp_doc_anonymous_upgradable_mutexA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_anonymous_upgradable_mutexB.cpp b/example/comp_doc_anonymous_upgradable_mutexB.cpp index edf4c63..61c1b5a 100644 --- a/example/comp_doc_anonymous_upgradable_mutexB.cpp +++ b/example/comp_doc_anonymous_upgradable_mutexB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_message_queueA.cpp b/example/comp_doc_message_queueA.cpp index 8efd488..66b0236 100644 --- a/example/comp_doc_message_queueA.cpp +++ b/example/comp_doc_message_queueA.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/comp_doc_message_queueB.cpp b/example/comp_doc_message_queueB.cpp index 3e96643..a3efe29 100644 --- a/example/comp_doc_message_queueB.cpp +++ b/example/comp_doc_message_queueB.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_adaptive_pool.cpp b/example/doc_adaptive_pool.cpp index 2a1feb3..9236ae2 100644 --- a/example/doc_adaptive_pool.cpp +++ b/example/doc_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_allocator.cpp b/example/doc_allocator.cpp index febff5e..529715f 100644 --- a/example/doc_allocator.cpp +++ b/example/doc_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_condition_shared_data.hpp b/example/doc_anonymous_condition_shared_data.hpp index 17054db..7cb3104 100644 --- a/example/doc_anonymous_condition_shared_data.hpp +++ b/example/doc_anonymous_condition_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_mutex_shared_data.hpp b/example/doc_anonymous_mutex_shared_data.hpp index 7458eb5..3884f60 100644 --- a/example/doc_anonymous_mutex_shared_data.hpp +++ b/example/doc_anonymous_mutex_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_semaphore_shared_data.hpp b/example/doc_anonymous_semaphore_shared_data.hpp index 819f73e..65334f5 100644 --- a/example/doc_anonymous_semaphore_shared_data.hpp +++ b/example/doc_anonymous_semaphore_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_anonymous_shared_memory.cpp b/example/doc_anonymous_shared_memory.cpp index 2285f5e..3fb49e1 100644 --- a/example/doc_anonymous_shared_memory.cpp +++ b/example/doc_anonymous_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -23,7 +23,7 @@ int main () //Write all the memory to 1 std::memset(region.get_address(), 1, region.get_size()); - + //The segment is unmapped when "region" goes out of scope } catch(interprocess_exception &ex){ diff --git a/example/doc_bufferstream.cpp b/example/doc_bufferstream.cpp index 310a842..0b51326 100644 --- a/example/doc_bufferstream.cpp +++ b/example/doc_bufferstream.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -93,7 +93,7 @@ int main () //Clear errors and rewind mybufstream.clear(); mybufstream.seekp(0, std::ios::beg); - + //Now write again the data trying to do a buffer overflow for(int i = 0, m = data.size()*5; i < m; ++i){ mybufstream << data[i%5] << std::endl; diff --git a/example/doc_cached_adaptive_pool.cpp b/example/doc_cached_adaptive_pool.cpp index 421b161..9e92cf5 100644 --- a/example/doc_cached_adaptive_pool.cpp +++ b/example/doc_cached_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_cached_node_allocator.cpp b/example/doc_cached_node_allocator.cpp index b89df48..a65559b 100644 --- a/example/doc_cached_node_allocator.cpp +++ b/example/doc_cached_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_complex_map.cpp b/example/doc_complex_map.cpp index 344d6b7..2d40086 100644 --- a/example/doc_complex_map.cpp +++ b/example/doc_complex_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_cont.cpp b/example/doc_cont.cpp index f609922..889fc74 100644 --- a/example/doc_cont.cpp +++ b/example/doc_cont.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_file_mapping.cpp b/example/doc_file_mapping.cpp index a3fa06f..4ae3b8f 100644 --- a/example/doc_file_mapping.cpp +++ b/example/doc_file_mapping.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_intrusive.cpp b/example/doc_intrusive.cpp index 7f50e15..d342855 100644 --- a/example/doc_intrusive.cpp +++ b/example/doc_intrusive.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_ipc_message.cpp b/example/doc_ipc_message.cpp index ecc6d14..9e52e9f 100644 --- a/example/doc_ipc_message.cpp +++ b/example/doc_ipc_message.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_aligned_allocation.cpp b/example/doc_managed_aligned_allocation.cpp index e15c569..167f20e 100644 --- a/example/doc_managed_aligned_allocation.cpp +++ b/example/doc_managed_aligned_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -111,7 +111,7 @@ int main() m_segment.deallocate(ptrs.back()); ptrs.pop_back(); ptrs.push_back(m_segment.allocate_aligned(128, 128)); - } + } return 0; } */ diff --git a/example/doc_managed_allocation_command.cpp b/example/doc_managed_allocation_command.cpp index 18d3012..06da748 100644 --- a/example/doc_managed_allocation_command.cpp +++ b/example/doc_managed_allocation_command.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_construction_info.cpp b/example/doc_managed_construction_info.cpp index 582a001..628608a 100644 --- a/example/doc_managed_construction_info.cpp +++ b/example/doc_managed_construction_info.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_copy_on_write.cpp b/example/doc_managed_copy_on_write.cpp index 1d7d8ba..0b72181 100644 --- a/example/doc_managed_copy_on_write.cpp +++ b/example/doc_managed_copy_on_write.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -81,7 +81,7 @@ int main() { //Now create a read-only version managed_mapped_file managed_file_ro(open_read_only, ManagedFile); - + //Check the original is intact if(!managed_file_ro.find("MyInt").first && managed_file_ro.find("MyInt2").first) throw int(0); diff --git a/example/doc_managed_external_buffer.cpp b/example/doc_managed_external_buffer.cpp index 2847df8..f9d4b58 100644 --- a/example/doc_managed_external_buffer.cpp +++ b/example/doc_managed_external_buffer.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -54,7 +54,7 @@ int main() //from the first one and duplicate all the data. static boost::aligned_storage::type static_buffer2; std::memcpy(&static_buffer2, &static_buffer, memsize); - + //Now open the duplicated managed memory passing the memory as argument wmanaged_external_buffer objects_in_static_memory2 (open_only, &static_buffer2, memsize); diff --git a/example/doc_managed_grow.cpp b/example/doc_managed_grow.cpp index e49cbf9..6e1e71d 100644 --- a/example/doc_managed_grow.cpp +++ b/example/doc_managed_grow.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_heap_memory.cpp b/example/doc_managed_heap_memory.cpp index 1d72ce5..976188a 100644 --- a/example/doc_managed_heap_memory.cpp +++ b/example/doc_managed_heap_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -50,7 +50,7 @@ int main () //use previously obtained handle to find the new pointer. mylist = static_cast (heap_memory.get_address_from_handle(list_handle)); - + //Fill list until there is no more memory in the buffer try{ while(1) { @@ -61,7 +61,7 @@ int main () //memory is full } - //Let's obtain the new size of the list + //Let's obtain the new size of the list MyList::size_type new_size = mylist->size(); assert(new_size > old_size); diff --git a/example/doc_managed_mapped_file.cpp b/example/doc_managed_mapped_file.cpp index 7b4fac3..723fb3a 100644 --- a/example/doc_managed_mapped_file.cpp +++ b/example/doc_managed_mapped_file.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -25,7 +25,7 @@ typedef list > MyList; int main () -{ +{ //Define file names //<- #if 1 @@ -77,7 +77,7 @@ int main () //so use previously obtained handle to find the new pointer. MyList *mylist = static_cast (mfile_memory.get_address_from_handle(list_handle)); - + //Fill list until there is no more room in the file try{ while(1) { @@ -88,7 +88,7 @@ int main () //mapped file is full } - //Let's obtain the new size of the list + //Let's obtain the new size of the list MyList::size_type new_size = mylist->size(); assert(new_size > old_size); diff --git a/example/doc_managed_multiple_allocation.cpp b/example/doc_managed_multiple_allocation.cpp index a651716..4e9024e 100644 --- a/example/doc_managed_multiple_allocation.cpp +++ b/example/doc_managed_multiple_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_managed_raw_allocation.cpp b/example/doc_managed_raw_allocation.cpp index 2eb31b5..2ddc997 100644 --- a/example/doc_managed_raw_allocation.cpp +++ b/example/doc_managed_raw_allocation.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_map.cpp b/example/doc_map.cpp index 897047a..929e7bb 100644 --- a/example/doc_map.cpp +++ b/example/doc_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_move_containers.cpp b/example/doc_move_containers.cpp index 8158fb6..46438f5 100644 --- a/example/doc_move_containers.cpp +++ b/example/doc_move_containers.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -28,7 +28,7 @@ int main () typedef allocator CharAllocator; typedef basic_string ,CharAllocator> MyShmString; - typedef allocator StringAllocator; + typedef allocator StringAllocator; typedef vector MyShmStringVector; //Remove shared memory on construction and destruction @@ -73,7 +73,7 @@ int main () //strings, leading to a great performance. MyShmString string_to_compare(charallocator); string_to_compare = "this is a long, long, long, long, long, long, string..."; - + myshmvector->reserve(50); for(int i = 0; i < 50; ++i){ MyShmString move_me(string_to_compare); diff --git a/example/doc_multi_index.cpp b/example/doc_multi_index.cpp index 698f7b9..6845807 100644 --- a/example/doc_multi_index.cpp +++ b/example/doc_multi_index.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_named_alloc.cpp b/example/doc_named_alloc.cpp index 780b50a..99ffbcc 100644 --- a/example/doc_named_alloc.cpp +++ b/example/doc_named_alloc.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -112,12 +112,12 @@ int main(int argc, char *argv[]) std::pair res; //Find the array - res = segment.find ("MyType array"); + res = segment.find ("MyType array"); //Length should be 10 if(res.second != 10) return 1; //Find the object - res = segment.find ("MyType instance"); + res = segment.find ("MyType instance"); //Length should be 1 if(res.second != 1) return 1; diff --git a/example/doc_named_condition_shared_data.hpp b/example/doc_named_condition_shared_data.hpp index 892a4eb..ae94db6 100644 --- a/example/doc_named_condition_shared_data.hpp +++ b/example/doc_named_condition_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_named_mutex.cpp b/example/doc_named_mutex.cpp index 5093b2d..98f5b37 100644 --- a/example/doc_named_mutex.cpp +++ b/example/doc_named_mutex.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -77,7 +77,7 @@ int main () //-> for(int i = 0; i < 10; ++i){ - + //Do some operations... //Write to file atomically diff --git a/example/doc_node_allocator.cpp b/example/doc_node_allocator.cpp index a5578d7..dcedab4 100644 --- a/example/doc_node_allocator.cpp +++ b/example/doc_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_offset_ptr.cpp b/example/doc_offset_ptr.cpp index 955b41b..118feab 100644 --- a/example/doc_offset_ptr.cpp +++ b/example/doc_offset_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_private_adaptive_pool.cpp b/example/doc_private_adaptive_pool.cpp index 7447bf2..3dd854a 100644 --- a/example/doc_private_adaptive_pool.cpp +++ b/example/doc_private_adaptive_pool.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -68,7 +68,7 @@ int main () //is the same, this private_adaptive_pool will have its own pool so //"allocator_instance2" CAN'T deallocate nodes allocated by "allocator_instance". //"allocator_instance2" is NOT equal to "allocator_instance" - assert(allocator_instance != allocator_instance2); + assert(allocator_instance != allocator_instance2); //Create another adaptive_pool using copy-constructor. private_adaptive_pool_t allocator_instance3(allocator_instance2); diff --git a/example/doc_private_node_allocator.cpp b/example/doc_private_node_allocator.cpp index 4ef0a45..8a75691 100644 --- a/example/doc_private_node_allocator.cpp +++ b/example/doc_private_node_allocator.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -68,7 +68,7 @@ int main () //is the same, this private_node_allocator will have its own pool so //"allocator_instance2" CAN'T deallocate nodes allocated by "allocator_instance". //"allocator_instance2" is NOT equal to "allocator_instance" - assert(allocator_instance != allocator_instance2); + assert(allocator_instance != allocator_instance2); //Create another node_allocator using copy-constructor. private_node_allocator_t allocator_instance3(allocator_instance2); diff --git a/example/doc_scoped_ptr.cpp b/example/doc_scoped_ptr.cpp index 1f20af7..b3e3e2e 100644 --- a/example/doc_scoped_ptr.cpp +++ b/example/doc_scoped_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -86,7 +86,7 @@ int main () my_class * my_object = shmem.construct("my_object")(); my_class * my_object2 = shmem.construct(anonymous_instance)(); shmem.destroy_ptr(my_object2); - + //Since the next shared memory allocation can throw //assign it to a scoped_ptr so that if an exception occurs //we destroy the object automatically diff --git a/example/doc_shared_memory.cpp b/example/doc_shared_memory.cpp index 24261e5..cb553de 100644 --- a/example/doc_shared_memory.cpp +++ b/example/doc_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_shared_ptr.cpp b/example/doc_shared_ptr.cpp index e44eb05..4e452da 100644 --- a/example/doc_shared_ptr.cpp +++ b/example/doc_shared_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. +// (C) Copyright Ion Gaztanaga 2006-2012. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -128,11 +128,11 @@ int main () //Now destroy the remaining owner. "object to share" will be destroyed file.destroy_ptr(owner2); assert(file.find("object to share").first == 0); - + //Test observer assert(local_observer1.expired()); assert(local_observer1.use_count() == 0); - + //The reference count will be deallocated when all weak pointers //disappear. After that, the file is unmapped. } diff --git a/example/doc_shared_ptr_explicit.cpp b/example/doc_shared_ptr_explicit.cpp index 06a253d..d084d3f 100644 --- a/example/doc_shared_ptr_explicit.cpp +++ b/example/doc_shared_ptr_explicit.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. +// (C) Copyright Ion Gaztanaga 2006-2012. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -62,7 +62,7 @@ int main () //<- #endif //-> - + //Create a shared pointer in shared memory //pointing to a newly created object in the segment my_shared_ptr &shared_ptr_instance = diff --git a/example/doc_spawn_vector.cpp b/example/doc_spawn_vector.cpp index 86e60d0..8970527 100644 --- a/example/doc_spawn_vector.cpp +++ b/example/doc_spawn_vector.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_unique_ptr.cpp b/example/doc_unique_ptr.cpp index d9f99f3..c87f798 100644 --- a/example/doc_unique_ptr.cpp +++ b/example/doc_unique_ptr.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. +// (C) Copyright Ion Gaztanaga 2006-2012. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) @@ -97,11 +97,11 @@ int main () unique_vector->push_back(boost::move(p)); assert(unique_vector->back()->number_ == i); } - + //Now create a list of unique pointers unique_ptr_list_t *unique_list = file.construct("unique list")(file.get_segment_manager()); - + //Pass ownership of all values to the list for(int i = 99; !unique_vector->empty(); --i){ unique_list->push_front(boost::move(unique_vector->back())); @@ -131,7 +131,7 @@ int main () for(int i = 0; i < 100; ++i, ++list_it){ assert((*list_it)->number_ == i); } - + //Now destroy the list. All elements will be automatically deallocated. file.destroy_ptr(unique_list); } diff --git a/example/doc_unordered_map.cpp b/example/doc_unordered_map.cpp index 0d141ef..a834ac1 100644 --- a/example/doc_unordered_map.cpp +++ b/example/doc_unordered_map.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_upgradable_mutex_shared_data.hpp b/example/doc_upgradable_mutex_shared_data.hpp index cc85750..09c5a39 100644 --- a/example/doc_upgradable_mutex_shared_data.hpp +++ b/example/doc_upgradable_mutex_shared_data.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_vectorstream.cpp b/example/doc_vectorstream.cpp index 2d61219..fbfa6c5 100644 --- a/example/doc_vectorstream.cpp +++ b/example/doc_vectorstream.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_where_allocate.cpp b/example/doc_where_allocate.cpp index 0c57a3e..c8f14f1 100644 --- a/example/doc_where_allocate.cpp +++ b/example/doc_where_allocate.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -27,7 +27,7 @@ int main () typedef basic_string, CharAllocator> MyShmString; typedef allocator - StringAllocator; + StringAllocator; typedef vector MyShmStringVector; diff --git a/example/doc_windows_shared_memory.cpp b/example/doc_windows_shared_memory.cpp index 6bffbad..17f1f82 100644 --- a/example/doc_windows_shared_memory.cpp +++ b/example/doc_windows_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/example/doc_xsi_shared_memory.cpp b/example/doc_xsi_shared_memory.cpp index 3d645c5..bdd878a 100644 --- a/example/doc_xsi_shared_memory.cpp +++ b/example/doc_xsi_shared_memory.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/proj/vc7ide/Interprocess.sln b/proj/vc7ide/Interprocess.sln index 029088d..5c3849e 100644 --- a/proj/vc7ide/Interprocess.sln +++ b/proj/vc7ide/Interprocess.sln @@ -463,6 +463,14 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "windows_shared_memory_test" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sharable_mutex_test", "sharable_mutex.vcproj", "{4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "condition_any_test", "condition_any_test.vcproj", "{5875E186-48F8-0992-26A7-D34F4A053798}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug @@ -935,6 +943,14 @@ Global {E35C288C-F48E-6914-4FA7-5BA006383C10}.Debug.Build.0 = Debug|Win32 {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.ActiveCfg = Release|Win32 {E35C288C-F48E-6914-4FA7-5BA006383C10}.Release.Build.0 = Release|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.ActiveCfg = Debug|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Debug.Build.0 = Debug|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Release.ActiveCfg = Release|Win32 + {4E88C1C2-0961-F7A4-F48E-A6A7D3B06004}.Release.Build.0 = Release|Win32 + {5875E186-48F8-0992-26A7-D34F4A053798}.Debug.ActiveCfg = Debug|Win32 + {5875E186-48F8-0992-26A7-D34F4A053798}.Debug.Build.0 = Debug|Win32 + {5875E186-48F8-0992-26A7-D34F4A053798}.Release.ActiveCfg = Release|Win32 + {5875E186-48F8-0992-26A7-D34F4A053798}.Release.Build.0 = Release|Win32 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution EndGlobalSection diff --git a/proj/vc7ide/condition_test.vcproj b/proj/vc7ide/condition_test.vcproj index 5777e89..57eb01e 100644 --- a/proj/vc7ide/condition_test.vcproj +++ b/proj/vc7ide/condition_test.vcproj @@ -13,7 +13,7 @@ @@ -67,7 +67,7 @@ struct rebind - { + { typedef allocator_v1 other; }; diff --git a/test/allocexcept_test.cpp b/test/allocexcept_test.cpp index 653ba94..2482f6f 100644 --- a/test/allocexcept_test.cpp +++ b/test/allocexcept_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -59,7 +59,7 @@ int main () int i; for(i = 0; true; ++i){ myvec.push_back(InstanceCounter()); - } + } } catch(boost::interprocess::bad_alloc &){ if(InstanceCounter::counter != 0) @@ -74,7 +74,7 @@ int main () InstanceCounter ic; for(i = 0; true; ++i){ myvec.insert(myvec.begin(), i, ic); - } + } } catch(boost::interprocess::bad_alloc &){ if(InstanceCounter::counter != 0) diff --git a/test/anonymous_shared_memory_test.cpp b/test/anonymous_shared_memory_test.cpp index efe053d..cdff6e6 100644 --- a/test/anonymous_shared_memory_test.cpp +++ b/test/anonymous_shared_memory_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/boost_interprocess_check.hpp b/test/boost_interprocess_check.hpp index 5e79b8a..6107cf5 100644 --- a/test/boost_interprocess_check.hpp +++ b/test/boost_interprocess_check.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/bufferstream_test.cpp b/test/bufferstream_test.cpp index bcaaf9f..58d9d05 100644 --- a/test/bufferstream_test.cpp +++ b/test/bufferstream_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -60,10 +60,10 @@ static int bufferstream_test() bufstream >> str1 >> number1; std_stringstream >> str2 >> number2; if((str1 != str2) || (str1 != str3)){ - assert(0); return 1; + assert(0); return 1; } if((number1 != number2) || (number1 != i)){ - assert(0); return 1; + assert(0); return 1; } } //We shouldn't have reached the end of the buffer reading @@ -90,7 +90,7 @@ static int bufferstream_test() bufstream << "testline: " << i << std::endl; std_stringstream << "testline: " << i << std::endl; } - + //Contents should be different if(std::strcmp(buffer, std_stringstream.str().c_str()) == 0){ return 1; diff --git a/test/cached_adaptive_pool_test.cpp b/test/cached_adaptive_pool_test.cpp index 28a6e97..eb63ec0 100644 --- a/test/cached_adaptive_pool_test.cpp +++ b/test/cached_adaptive_pool_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/cached_node_allocator_test.cpp b/test/cached_node_allocator_test.cpp index 35c9de7..8ffa0f0 100644 --- a/test/cached_node_allocator_test.cpp +++ b/test/cached_node_allocator_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/check_equal_containers.hpp b/test/check_equal_containers.hpp index b59c0d7..90b2810 100644 --- a/test/check_equal_containers.hpp +++ b/test/check_equal_containers.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/condition_test.cpp b/test/condition_test.cpp index 72ccaf5..089c0a6 100644 --- a/test/condition_test.cpp +++ b/test/condition_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/condition_test_template.hpp b/test/condition_test_template.hpp index 830ba6f..7f3ac77 100644 --- a/test/condition_test_template.hpp +++ b/test/condition_test_template.hpp @@ -10,7 +10,7 @@ // It is provided "as is" without express or implied warranty. ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -48,7 +48,7 @@ inline boost::xtime delay(int secs, int msecs=0, int nsecs=0) const int NANOSECONDS_PER_MILLISECOND = 1000000; boost::xtime xt; - + #if BOOST_VERSION >= 105100 //TIME_UTC is a macro in C11, breaking change in Boost.Thread int ret = boost::xtime_get(&xt, boost::TIME_UTC_); BOOST_INTERPROCES_CHECK(ret == static_cast(boost::TIME_UTC_));(void)ret; @@ -168,6 +168,8 @@ void do_test_condition_notify_one() condition_test_data data; boost::thread thread(bind_function(&condition_test_thread, &data)); + //Make sure thread is blocked + boost::thread::sleep(delay(1)); { boost::interprocess::scoped_lock lock(data.mutex); @@ -187,16 +189,18 @@ void do_test_condition_notify_all() boost::thread_group threads; condition_test_data data; - for (int i = 0; i < NUMTHREADS; ++i) + for (int i = 0; i < NUMTHREADS; ++i){ threads.create_thread(bind_function(&condition_test_thread, &data)); - + } + //Make sure all threads are blocked + boost::thread::sleep(delay(1)); { boost::interprocess::scoped_lock lock(data.mutex); BOOST_INTERPROCES_CHECK(lock ? true : false); data.notified++; - data.condition.notify_all(); } + data.condition.notify_all(); threads.join_all(); BOOST_INTERPROCES_CHECK(data.awoken == NUMTHREADS); @@ -396,16 +400,16 @@ void do_test_condition_queue_notify_all(void) template bool do_test_condition() { - std::cout << "do_test_condition_notify_one<" << typeid(Condition).name() << "," << typeid(Mutex).name() << std::endl; + std::cout << "do_test_condition_notify_one<" << typeid(Condition).name() << "," << typeid(Mutex).name() << '\n' << std::endl; do_test_condition_notify_one(); - std::cout << "do_test_condition_notify_all<" << typeid(Condition).name() << "," << typeid(Mutex).name() << std::endl; + std::cout << "do_test_condition_notify_all<" << typeid(Condition).name() << "," << typeid(Mutex).name() << '\n' << std::endl; do_test_condition_notify_all(); - std::cout << "do_test_condition_waits<" << typeid(Condition).name() << "," << typeid(Mutex).name() << std::endl; + std::cout << "do_test_condition_waits<" << typeid(Condition).name() << "," << typeid(Mutex).name() << '\n' << std::endl; do_test_condition_waits(); - //std::cout << "do_test_condition_queue_notify_one<" << typeid(Condition).name() << "," << typeid(Mutex).name() << std::endl; - //do_test_condition_queue_notify_one(); - //std::cout << "do_test_condition_queue_notify_all<" << typeid(Condition).name() << "," << typeid(Mutex).name() << std::endl; - //do_test_condition_queue_notify_all(); + std::cout << "do_test_condition_queue_notify_one<" << typeid(Condition).name() << "," << typeid(Mutex).name() << '\n' << std::endl; + do_test_condition_queue_notify_one(); + std::cout << "do_test_condition_queue_notify_all<" << typeid(Condition).name() << "," << typeid(Mutex).name() << '\n' << std::endl; + do_test_condition_queue_notify_all(); return true; } diff --git a/test/data_test.cpp b/test/data_test.cpp index fee925f..717c84c 100644 --- a/test/data_test.cpp +++ b/test/data_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/deque_test.cpp b/test/deque_test.cpp index 87da1fd..02c5e69 100644 --- a/test/deque_test.cpp +++ b/test/deque_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -261,11 +261,11 @@ bool do_test() shmdeque->resize(100); stddeque->resize(100); - if(!test::CheckEqualContainers(shmdeque, stddeque)) return 1; + if(!test::CheckEqualContainers(shmdeque, stddeque)) return 1; shmdeque->resize(200); stddeque->resize(200); - if(!test::CheckEqualContainers(shmdeque, stddeque)) return 1; + if(!test::CheckEqualContainers(shmdeque, stddeque)) return 1; segment.template destroy("MyShmDeque"); delete stddeque; @@ -278,7 +278,7 @@ bool do_test() std::cout << ex.what() << std::endl; return false; }*/ - + std::cout << std::endl << "Test OK!" << std::endl; }/* catch(...){ diff --git a/test/dummy_test_allocator.hpp b/test/dummy_test_allocator.hpp index f195938..5672ff2 100644 --- a/test/dummy_test_allocator.hpp +++ b/test/dummy_test_allocator.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/emplace_test.hpp b/test/emplace_test.hpp index 93408ce..1ba168a 100644 --- a/test/emplace_test.hpp +++ b/test/emplace_test.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2008. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2008-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/enable_shared_from_this_test.cpp b/test/enable_shared_from_this_test.cpp index 81734b0..2b90adc 100644 --- a/test/enable_shared_from_this_test.cpp +++ b/test/enable_shared_from_this_test.cpp @@ -3,7 +3,7 @@ // // This file is the adaptation of shared_from_this_test.cpp from smart_ptr library // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/expand_bwd_test_allocator.hpp b/test/expand_bwd_test_allocator.hpp index 5d53959..c48f07a 100644 --- a/test/expand_bwd_test_allocator.hpp +++ b/test/expand_bwd_test_allocator.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -109,7 +109,7 @@ class expand_bwd_test_allocator { return m_size; } friend void swap(self_t &alloc1, self_t &alloc2) - { + { ipcdetail::do_swap(alloc1.mp_buffer, alloc2.mp_buffer); ipcdetail::do_swap(alloc1.m_size, alloc2.m_size); ipcdetail::do_swap(alloc1.m_offset, alloc2.m_offset); @@ -126,7 +126,7 @@ class expand_bwd_test_allocator (void)preferred_size; (void)reuse; (void)command; //This allocator only expands backwards! assert(m_allocations == 0 || (command & boost::interprocess::expand_bwd)); - + received_size = limit_size; if(m_allocations == 0){ diff --git a/test/expand_bwd_test_template.hpp b/test/expand_bwd_test_template.hpp index 05b79a6..68b7de6 100644 --- a/test/expand_bwd_test_template.hpp +++ b/test/expand_bwd_test_template.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/file_lock_test.cpp b/test/file_lock_test.cpp index f9ed7e5..d8c48ab 100644 --- a/test/file_lock_test.cpp +++ b/test/file_lock_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/file_mapping_test.cpp b/test/file_mapping_test.cpp index 3099a87..c9dcf07 100644 --- a/test/file_mapping_test.cpp +++ b/test/file_mapping_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -62,7 +62,7 @@ int main () ,FileSize - FileSize/2 ); - //Fill two regions with a pattern + //Fill two regions with a pattern unsigned char *filler = static_cast(region.get_address()); for(std::size_t i = 0 ;i < FileSize/2 @@ -92,7 +92,7 @@ int main () //Create a memory buffer std::auto_ptr memory (new unsigned char [FileSize/2 +1]); - + //Fill buffer file.read(static_cast(static_cast(memory.get())) , FileSize/2); diff --git a/test/flat_map_index_allocation_test.cpp b/test/flat_map_index_allocation_test.cpp index a021455..41476ab 100644 --- a/test/flat_map_index_allocation_test.cpp +++ b/test/flat_map_index_allocation_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2006. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2006-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/flat_tree_test.cpp b/test/flat_tree_test.cpp index 5c6a066..f61fb56 100644 --- a/test/flat_tree_test.cpp +++ b/test/flat_tree_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -23,11 +23,11 @@ #include "emplace_test.hpp" ///////////////////////////////////////////////////////////////// -// -// This example repeats the same operations with std::set and -// shmem_set using the node allocator -// and compares the values of both containers -// +// +// This example repeats the same operations with std::set and +// shmem_set using the node allocator +// and compares the values of both containers +// ///////////////////////////////////////////////////////////////// using namespace boost::interprocess; diff --git a/test/get_process_id_name.hpp b/test/get_process_id_name.hpp index 4e49525..f79384a 100644 --- a/test/get_process_id_name.hpp +++ b/test/get_process_id_name.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // diff --git a/test/heap_allocator_v1.hpp b/test/heap_allocator_v1.hpp index d5b8bac..9ec82bb 100644 --- a/test/heap_allocator_v1.hpp +++ b/test/heap_allocator_v1.hpp @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -83,7 +83,7 @@ class heap_allocator_v1 //!Obtains an heap_allocator_v1 of other type template struct rebind - { + { typedef heap_allocator_v1 other; }; diff --git a/test/intermodule_singleton_test.cpp b/test/intermodule_singleton_test.cpp index b15df84..15d6105 100644 --- a/test/intermodule_singleton_test.cpp +++ b/test/intermodule_singleton_test.cpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2004-2011. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2004-2012. Distributed under the Boost // Software License, Version 1.0. (See accompanying file // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // @@ -87,7 +87,7 @@ int intermodule_singleton_test() return 1; } - return 0; + return 0; } //A class simulating a logger @@ -249,7 +249,7 @@ int phoenix_singleton_test() //LoggerSingleton. //After that LoggerSingleton will be destroyed and //lastly LogPhoenixTester will be destroyed checking - //LoggerSingleton was correctly destroyed. + //LoggerSingleton was correctly destroyed. return 0; } diff --git a/test/named_condition_test.cpp b/test/named_condition_test.cpp index c81ff2e..6aa9c78 100644 --- a/test/named_condition_test.cpp +++ b/test/named_condition_test.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include "condition_test_template.hpp" #include "named_creation_template.hpp" #include @@ -56,76 +57,32 @@ class named_condition_test_wrapper { --count; } - template - class lock_wrapper - { - typedef void (lock_wrapper::*unspecified_bool_type)(); - public: - - typedef named_mutex mutex_type; - - lock_wrapper(Lock &l) - : l_(l) - {} - - mutex_type* mutex() const - { return l_.mutex(); } - - void lock() { l_.lock(); } - - void unlock() { l_.unlock(); } - - operator unspecified_bool_type() const - { return l_ ? &lock_wrapper::lock : 0; } - - private: - Lock &l_; - }; -/* - template - class lock_wrapper - { - public: - - typedef named_mutex mutex_type; - - lock_wrapper(Lock &l) - : l_(l) - {} - - mutex_type* mutex() const - { return l_.mutex(); } - - private: - Lock &l_; - }; -*/ template void wait(L& lock) { - lock_wrapper newlock(lock); - named_condition::wait(newlock); + ipcdetail::internal_mutex_lock internal_lock(lock); + named_condition::wait(internal_lock); } template void wait(L& lock, Pr pred) { - lock_wrapper newlock(lock); - named_condition::wait(newlock, pred); + ipcdetail::internal_mutex_lock internal_lock(lock); + named_condition::wait(internal_lock, pred); } template bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time) { - lock_wrapper newlock(lock); - return named_condition::timed_wait(newlock, abs_time); + ipcdetail::internal_mutex_lock internal_lock(lock); + return named_condition::timed_wait(internal_lock, abs_time); } template bool timed_wait(L& lock, const boost::posix_time::ptime &abs_time, Pr pred) { - lock_wrapper newlock(lock); - return named_condition::timed_wait(newlock, abs_time, pred); + ipcdetail::internal_mutex_lock internal_lock(lock); + return named_condition::timed_wait(internal_lock, abs_time, pred); } static int count; @@ -190,6 +147,11 @@ class named_mutex_test_wrapper ++count; } + typedef named_mutex internal_mutex_type; + + internal_mutex_type &internal_mutex() + { return *this; } + ~named_mutex_test_wrapper() { --count; }