Boost logo

Boost :

Subject: Re: [boost] concurrent garbage collector
From: Bjorn Reese (breese_at_[hidden])
Date: 2013-06-22 04:16:01

On 06/17/2013 10:41 PM, Taylor Holliday wrote:


I like the idea.

Some minor comments:

In the Collect() function the sequence is a static local variable. You
may consider making it a normal member variable (you have already
declared the "collector" variable as static.)

Apropos, you may consider using boost::call_once instead of using a
Meyers singleton, because the latter is not thread-safe.

In the mark phase you use an std::vector as a stack. It may be better to
use std::stack.

In the sweep phase you collect a new set and then assign it to the
old. You should probably use one of these instead:


or if you are going for a C++11 only solution:

   _nodes = std::move(newNodes);

Boost list run by bdawes at, gregod at, cpdaniel at, john at