From f78ce3a8db88ecda77664f6e7bfa480768e2e999 Mon Sep 17 00:00:00 2001 From: Markus Blatt <markus@dr-blatt.de> Date: Wed, 29 Jan 2014 19:48:38 +0100 Subject: [PATCH] [poolallocator,release] Use a non-static memory pool. Due to its desgin of using one static memory pool. The allocator could not be used in different threads at the same time without side effects. With this revision each instance will hold its own private instance of the pool. There should be no issues with this patch and poolallocator seems to be mostly used in AMG anyway. --- dune/common/poolallocator.hh | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/dune/common/poolallocator.hh b/dune/common/poolallocator.hh index 9bb4897bf..e7555bd8f 100644 --- a/dune/common/poolallocator.hh +++ b/dune/common/poolallocator.hh @@ -368,7 +368,7 @@ namespace Dune /** * @brief The underlying memory pool. */ - static PoolType memoryPool_; + PoolType memoryPool_; }; // specialization for void @@ -551,9 +551,6 @@ namespace Dune return p; } - template<class T, std::size_t s> - typename PoolAllocator<T,s>::PoolType PoolAllocator<T,s>::memoryPool_; - template<class T, std::size_t s> inline PoolAllocator<T,s>::PoolAllocator() { } -- GitLab