-void SIMIX_comm_cancel(smx_synchro_t synchro)
-{
- /* if the synchro is a waiting state means that it is still in a rdv */
- /* so remove from it and delete it */
- if (synchro->state == SIMIX_WAITING) {
- SIMIX_rdv_remove(synchro->comm.rdv, synchro);
- synchro->state = SIMIX_CANCELED;
- }
- else if (!MC_is_active() /* when running the MC there are no surf actions */
- && !MC_record_replay_is_active()
- && (synchro->state == SIMIX_READY || synchro->state == SIMIX_RUNNING)) {
-
- synchro->comm.surf_comm->cancel();
- }
-}
-
-void SIMIX_comm_suspend(smx_synchro_t synchro)
-{
- /*FIXME: shall we suspend also the timeout synchro? */
- if (synchro->comm.surf_comm)
- synchro->comm.surf_comm->suspend();
- /* in the other case, the action will be suspended on creation, in SIMIX_comm_start() */
-}
-
-void SIMIX_comm_resume(smx_synchro_t synchro)
-{
- /*FIXME: check what happen with the timeouts */
- if (synchro->comm.surf_comm)
- synchro->comm.surf_comm->resume();
- /* in the other case, the synchro were not really suspended yet, see SIMIX_comm_suspend() and SIMIX_comm_start() */
-}
-
-