mirror of
https://github.com/boostorg/interprocess.git
synced 2026-01-19 04:12:13 +00:00
Modified examples so that they can be run in parallel.
[SVN r52391]
This commit is contained in:
@@ -16,19 +16,39 @@
|
||||
#include <boost/unordered_map.hpp> //boost::unordered_map
|
||||
#include <functional> //std::equal_to
|
||||
#include <boost/functional/hash.hpp> //boost::hash
|
||||
//<-
|
||||
#include "../test/get_process_id_name.hpp"
|
||||
//->
|
||||
|
||||
int main ()
|
||||
{
|
||||
using namespace boost::interprocess;
|
||||
//Remove shared memory on construction and destruction
|
||||
struct shm_destroy
|
||||
struct shm_remove
|
||||
{
|
||||
shm_destroy() { shared_memory_object::remove("MySharedMemory"); }
|
||||
~shm_destroy(){ shared_memory_object::remove("MySharedMemory"); }
|
||||
//<-
|
||||
#if 1
|
||||
shm_remove() { shared_memory_object::remove(test::get_process_id_name()); }
|
||||
~shm_remove(){ shared_memory_object::remove(test::get_process_id_name()); }
|
||||
#else
|
||||
//->
|
||||
shm_remove() { shared_memory_object::remove("MySharedMemory"); }
|
||||
~shm_remove(){ shared_memory_object::remove("MySharedMemory"); }
|
||||
//<-
|
||||
#endif
|
||||
//->
|
||||
} remover;
|
||||
|
||||
//Create shared memory
|
||||
managed_shared_memory segment(create_only ,"MySharedMemory" ,65536);
|
||||
//<-
|
||||
#if 1
|
||||
managed_shared_memory segment(create_only, test::get_process_id_name(), 65536);
|
||||
#else
|
||||
//->
|
||||
managed_shared_memory segment(create_only, "MySharedMemory", 65536);
|
||||
//<-
|
||||
#endif
|
||||
//->
|
||||
|
||||
//Note that unordered_map<Key, MappedType>'s value_type is std::pair<const Key, MappedType>,
|
||||
//so the allocator must allocate that pair.
|
||||
|
||||
Reference in New Issue
Block a user