#include "pls/internal/base/barrier.h"

namespace pls {
namespace internal {
namespace base {

barrier::barrier(const unsigned int count) : barrier_{} {
  pthread_barrier_init(&barrier_, nullptr, count);
}

barrier::~barrier() {
  pthread_barrier_destroy(&barrier_);
}

void barrier::wait() {
  pthread_barrier_wait(&barrier_);
}

}
}
}
