X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cdf6a962eb4e88efbed3df9c41343adabcf09e6c..d236809e6149a03ef3e53599458f51c98f79f94d:/src/s4u/s4u_Barrier.cpp diff --git a/src/s4u/s4u_Barrier.cpp b/src/s4u/s4u_Barrier.cpp index be8bb6e6e1..1bb6e23225 100644 --- a/src/s4u/s4u_Barrier.cpp +++ b/src/s4u/s4u_Barrier.cpp @@ -1,27 +1,17 @@ -/* Copyright (c) 2018-2019. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2018-2022. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include -#include +#include +#include +#include -#include "simgrid/Exception.hpp" -#include "simgrid/barrier.h" -#include "simgrid/s4u/Barrier.hpp" -#include "simgrid/simix.h" -#include "xbt/log.hpp" - -XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_barrier, "S4U barrier"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(s4u_barrier, s4u, "S4U barrier"); namespace simgrid { namespace s4u { -Barrier::Barrier(unsigned int expected_processes) - : mutex_(Mutex::create()), cond_(ConditionVariable::create()), expected_actors_(expected_processes) -{ -} - /** @brief Create a new barrier * * See @ref s4u_raii. @@ -44,8 +34,8 @@ int Barrier::wait() XBT_DEBUG("waiting %p %u/%u", this, arrived_actors_, expected_actors_); if (arrived_actors_ == expected_actors_) { cond_->notify_all(); - mutex_->unlock(); arrived_actors_ = 0; + mutex_->unlock(); return SG_BARRIER_SERIAL_THREAD; } @@ -79,7 +69,7 @@ sg_bar_t sg_barrier_init(unsigned int count) } /** @brief Initializes a barrier, with count elements */ -void sg_barrier_destroy(sg_bar_t bar) +void sg_barrier_destroy(const_sg_bar_t bar) { delete bar; }