mirror of
https://github.com/Zygo/bees.git
synced 2025-06-16 17:46:16 +02:00
task: get rid of the separate Barrier and BarrierLock
Make one class Barrier which is copiable, so we don't have to have users making shared Barrier all the time. Signed-off-by: Zygo Blaxell <bees@furryterror.org>
This commit is contained in:
32
lib/task.cc
32
lib/task.cc
@ -788,16 +788,6 @@ namespace crucible {
|
||||
void insert_task(Task t);
|
||||
};
|
||||
|
||||
Barrier::Barrier(shared_ptr<BarrierState> pbs) :
|
||||
m_barrier_state(pbs)
|
||||
{
|
||||
}
|
||||
|
||||
Barrier::Barrier() :
|
||||
m_barrier_state(make_shared<BarrierState>())
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
BarrierState::release()
|
||||
{
|
||||
@ -813,17 +803,6 @@ namespace crucible {
|
||||
release();
|
||||
}
|
||||
|
||||
BarrierLock::BarrierLock(shared_ptr<BarrierState> pbs) :
|
||||
m_barrier_state(pbs)
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
BarrierLock::release()
|
||||
{
|
||||
m_barrier_state.reset();
|
||||
}
|
||||
|
||||
void
|
||||
BarrierState::insert_task(Task t)
|
||||
{
|
||||
@ -831,16 +810,21 @@ namespace crucible {
|
||||
m_tasks.insert(t);
|
||||
}
|
||||
|
||||
Barrier::Barrier() :
|
||||
m_barrier_state(make_shared<BarrierState>())
|
||||
{
|
||||
}
|
||||
|
||||
void
|
||||
Barrier::insert_task(Task t)
|
||||
{
|
||||
m_barrier_state->insert_task(t);
|
||||
}
|
||||
|
||||
BarrierLock
|
||||
Barrier::lock()
|
||||
void
|
||||
Barrier::release()
|
||||
{
|
||||
return BarrierLock(m_barrier_state);
|
||||
m_barrier_state.reset();
|
||||
}
|
||||
|
||||
class ExclusionState {
|
||||
|
Reference in New Issue
Block a user