コード例 #1
0
ファイル: SynchroRaw.cpp プロジェクト: fabienchaix/simgrid
void simgrid::kernel::activity::Raw::post()
{
  XBT_IN("(%p)",this);
  if (sleep->getState() == simgrid::surf::Action::State::failed)
    state = SIMIX_FAILED;
  else if(sleep->getState() == simgrid::surf::Action::State::done)
    state = SIMIX_SRC_TIMEOUT;

  SIMIX_synchro_finish(this);
  XBT_OUT();
}
コード例 #2
0
ファイル: smx_synchro.c プロジェクト: Shurakai/SimGrid
void SIMIX_post_synchro(smx_action_t action)
{
  XBT_IN("(%p)",action);
  if (surf_workstation_model->action_state_get(action->synchro.sleep) == SURF_ACTION_FAILED)
    action->state = SIMIX_FAILED;
  else if(surf_workstation_model->action_state_get(action->synchro.sleep) == SURF_ACTION_DONE)
    action->state = SIMIX_SRC_TIMEOUT;

  SIMIX_synchro_finish(action);  
  XBT_OUT();
}
コード例 #3
0
ファイル: smx_synchro.c プロジェクト: FlorianPO/simgrid
void SIMIX_post_synchro(smx_synchro_t synchro)
{
  XBT_IN("(%p)",synchro);
  xbt_assert(synchro->type == SIMIX_SYNC_SYNCHRO);
  if (surf_action_get_state(synchro->synchro.sleep) == SURF_ACTION_FAILED)
    synchro->state = SIMIX_FAILED;
  else if(surf_action_get_state(synchro->synchro.sleep) == SURF_ACTION_DONE)
    synchro->state = SIMIX_SRC_TIMEOUT;

  SIMIX_synchro_finish(synchro);  
  XBT_OUT();
}