3 int smpi_gettimeofday(struct timeval *tv, struct timezone *tz)
11 now = SIMIX_get_clock();
13 tv->tv_usec = ((now - (double)tv->tv_sec) * 1000000.0);
19 unsigned int smpi_sleep(unsigned int seconds)
26 host = SIMIX_host_self();
28 SIMIX_mutex_lock(smpi_global->timer_mutex);
30 action = SIMIX_action_sleep(host, seconds);
32 SIMIX_register_action_to_condition(action, smpi_global->timer_cond);
33 SIMIX_cond_wait(smpi_global->timer_cond, smpi_global->timer_mutex);
34 SIMIX_unregister_action_to_condition(action, smpi_global->timer_cond);
35 SIMIX_action_destroy(action);
37 SIMIX_mutex_unlock(smpi_global->timer_mutex);
43 void smpi_exit(int status)
46 SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex);
47 smpi_global->running_hosts_count--;
48 SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex);
49 SIMIX_process_kill(SIMIX_process_self());