Force explicit alignment argument to private_node_pool and shared_node_pool to avoid bugs on overaligned types.

This commit is contained in:
Ion Gaztañaga
2026-01-20 23:57:43 +01:00
parent 07806c7752
commit bf058bcc54
2 changed files with 3 additions and 3 deletions
+1 -1
View File
@@ -228,7 +228,7 @@ void list_test_template(std::size_t num_iterations, std::size_t num_elements, bo
//Release node_allocator cache
typedef boost::container::dtl::shared_node_pool
< (2*sizeof(void*)+sizeof(int))
, AdPoolAlignOnlyV2::nodes_per_block> shared_node_pool_t;
, AdPoolAlignOnlyV2::nodes_per_block, 0> shared_node_pool_t;
boost::container::dtl::singleton_default
<shared_node_pool_t>::instance().purge_blocks();
+2 -2
View File
@@ -40,7 +40,7 @@ namespace dtl {
//!nodes allocated per block (NodesPerBlock) are known at compile time
template< std::size_t NodeSize
, std::size_t NodesPerBlock
, std::size_t NodeAlign = 0
, std::size_t NodeAlign
>
class private_node_pool
//Inherit from the implementation to avoid template bloat
@@ -66,7 +66,7 @@ class private_node_pool
template< std::size_t NodeSize
, std::size_t NodesPerBlock
, std::size_t NodeAlign = 0
, std::size_t NodeAlign
>
class shared_node_pool
: public private_node_pool<NodeSize, NodesPerBlock, NodeAlign>