Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7861: lockfree freelist doesn't destruct objects until its destructor is called
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2013-01-07 10:35:06
#7861: lockfree freelist doesn't destruct objects until its destructor is called
-----------------------------------+----------------------------------------
Reporter: toffaletti@⦠| Owner: timblechmann
Type: Bugs | Status: reopened
Milestone: To Be Determined | Component: lockfree
Version: Boost 1.53.0 | Severity: Problem
Resolution: | Keywords:
-----------------------------------+----------------------------------------
Comment (by anonymous):
I see, I missed that part in the docs. Thanks for being patient. boost has
wrappers to make type traits and static assert work on supported
compilers:
http://www.boost.org/doc/libs/1_52_0/libs/type_traits/doc/html/boost_typetraits/reference/is_pod.html
http://www.boost.org/doc/libs/1_52_0/doc/html/boost_staticassert.html
What about the algorithm requires POD? It seems like it is doing
everything that would be needed to support non-POD types. And indeed the
destructor is called for all but 1 of the items, which sticks around until
the queue goes out of scope at which point it too is destructed. Which is
to say the program is valgrind clean:
{{{
==38928== HEAP SUMMARY:
==38928== in use at exit: 0 bytes in 0 blocks
==38928== total heap usage: 147 allocs, 147 frees, 9,088 bytes allocated
==38928==
==38928== All heap blocks were freed -- no leaks are possible
}}}
Also, if only trivial POD types are supported, why even call the
destructor? trivial destructors don't do anything.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/7861#comment:4> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC