A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cleanups: kill code dupplication
[simgrid.git]
/
src
/
smpi
/
smpi_base.c
diff --git
a/src/smpi/smpi_base.c
b/src/smpi/smpi_base.c
index
797e242
..
d923982
100644
(file)
--- a/
src/smpi/smpi_base.c
+++ b/
src/smpi/smpi_base.c
@@
-176,7
+176,10
@@
int smpi_mpi_barrier(smpi_mpi_communicator_t comm)
{
SIMIX_mutex_lock(comm->barrier_mutex);
{
SIMIX_mutex_lock(comm->barrier_mutex);
- if (++comm->barrier_count >= comm->size) {
+ ++comm->barrier_count;
+ if (comm->barrier_count > comm->size) { // only happens on second barrier...
+ comm->barrier_count = 0;
+ } else if (comm->barrier_count == comm->size) {
SIMIX_cond_broadcast(comm->barrier_cond);
}
while (comm->barrier_count < comm->size) {
SIMIX_cond_broadcast(comm->barrier_cond);
}
while (comm->barrier_count < comm->size) {