3 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_util, smpi, "Logging specific to SMPI (utilities)");
5 int smpi_gettimeofday(struct timeval *tv, struct timezone *tz)
14 now = SIMIX_get_clock();
16 tv->tv_usec = ((now - (double)tv->tv_sec) * 1000000.0);
22 unsigned int smpi_sleep(unsigned int seconds)
29 host = SIMIX_host_self();
31 SIMIX_mutex_lock(smpi_global->execute_mutex);
33 // FIXME: explicit conversion to double?
34 action = SIMIX_action_sleep(host, seconds);
36 SIMIX_register_action_to_condition(action, smpi_global->execute_cond);
37 SIMIX_cond_wait(smpi_global->execute_cond, smpi_global->execute_mutex);
38 SIMIX_unregister_action_to_condition(action, smpi_global->execute_cond);
39 SIMIX_action_destroy(action);
41 SIMIX_mutex_unlock(smpi_global->execute_mutex);
47 void smpi_exit(int status)
51 SIMIX_process_kill(SIMIX_process_self());