mirror of
https://github.com/boostorg/interprocess.git
synced 2026-01-19 04:12:13 +00:00
Add overalignment support for node_allocator, private_node_allocator and cached_node_allocator
This commit is contained in:
@@ -16,17 +16,49 @@ typedef managed_shared_memory::segment_manager segment_manager_t;
|
||||
|
||||
int main ()
|
||||
{
|
||||
typedef ipcdetail::private_node_pool
|
||||
<segment_manager_t, 4, 64> node_pool_t;
|
||||
{ //Private, normal alignment, small data
|
||||
typedef ipcdetail::private_node_pool
|
||||
<segment_manager_t, 1u, 64, 0> node_pool_t;
|
||||
|
||||
if(!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
{ //Private, small alignment, small data
|
||||
typedef ipcdetail::private_node_pool
|
||||
<segment_manager_t, 1u, 64, 2u> node_pool_t;
|
||||
|
||||
typedef ipcdetail::shared_node_pool
|
||||
<segment_manager_t, 4, 64> shared_node_pool_t;
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
{ //Private, normal alignment
|
||||
typedef ipcdetail::private_node_pool
|
||||
<segment_manager_t, sizeof(void*), 64, 0> node_pool_t;
|
||||
|
||||
if(!test::test_all_node_pool<shared_node_pool_t>())
|
||||
return 1;
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
{ //Private, overaligned
|
||||
typedef ipcdetail::private_node_pool
|
||||
<segment_manager_t, sizeof(void*), 64, sizeof(void*)*4U> node_pool_t;
|
||||
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
|
||||
{ //Shared, normal alignment
|
||||
typedef ipcdetail::shared_node_pool
|
||||
<segment_manager_t, 4, 64, 0> node_pool_t;
|
||||
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
{ //Shared, overaligned
|
||||
typedef ipcdetail::shared_node_pool
|
||||
<segment_manager_t, sizeof(void*), 64, sizeof(void*)*4u> node_pool_t;
|
||||
|
||||
if (!test::test_all_node_pool<node_pool_t>())
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user