+
+ // Synchronization barrier...
+ // The goal is to circumvent a limitation in SimGrid (at least
+ // in version 3.5): a process must be alive when another one
+ // destroys a communication they had together.
+
+ --proc_counter;
+ proc_cond.broadcast();
+ while (proc_counter > 0)
+ proc_cond.wait(proc_mutex);
+ proc_mutex.release();
+