Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of git+ssh://scm.gforge.inria.fr//gitroot/simgrid/simgrid
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 5 Jul 2018 13:24:39 +0000 (15:24 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Thu, 5 Jul 2018 13:24:39 +0000 (15:24 +0200)
1  2 
src/s4u/s4u_Barrier.cpp

diff --combined src/s4u/s4u_Barrier.cpp
@@@ -9,7 -9,6 +9,7 @@@
  #include <xbt/ex.hpp>
  #include <xbt/log.hpp>
  
 +#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();
 +}