From: Frederic Suter Date: Thu, 5 Jul 2018 13:24:39 +0000 (+0200) Subject: Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid X-Git-Tag: v3_21~559 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/1fc5d774ff8e253d3127812d681e7d08b489fc4a?ds=sidebyside;hp=-c Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid --- 1fc5d774ff8e253d3127812d681e7d08b489fc4a diff --combined src/s4u/s4u_Barrier.cpp index 713245c9e1,cd111763d6..a8ce588842 --- a/src/s4u/s4u_Barrier.cpp +++ b/src/s4u/s4u_Barrier.cpp @@@ -9,7 -9,6 +9,7 @@@ #include #include +#include "simgrid/barrier.h" #include "simgrid/s4u/Barrier.hpp" #include "simgrid/simix.h" @@@ -18,10 -17,8 +18,8 @@@ XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_barrie namespace simgrid { namespace s4u { - Barrier::Barrier(unsigned int count) : expected_processes_(count) + Barrier::Barrier(unsigned int expected_processes) : mutex_(Mutex::create()), cond_(ConditionVariable::create()), expected_processes_(expected_processes) { - mutex_ = Mutex::create(); - cond_ = ConditionVariable::create(); } /** @@@ -45,22 -42,3 +43,22 @@@ int Barrier::wait( } } // namespace s4u } // namespace simgrid + +/* **************************** Public C interface *************************** */ + +sg_bar_t sg_barrier_init(unsigned int count) +{ + return new simgrid::s4u::Barrier(count); +} + +/** @brief Initializes a barrier, with count elements */ +void sg_barrier_destroy(sg_bar_t bar) +{ + delete bar; +} + +/** @brief Performs a barrier already initialized */ +int sg_barrier_wait(sg_bar_t bar) +{ + return bar->wait(); +}