X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/04b83ff67daf1924db99ae07054ac5d058ed4a19..57e7dcd49d4873f73dc0337e4f172bd169f77a44:/src/smpi/smpi_util.c diff --git a/src/smpi/smpi_util.c b/src/smpi/smpi_util.c index 59518a2b2e..29f570bfcc 100644 --- a/src/smpi/smpi_util.c +++ b/src/smpi/smpi_util.c @@ -1,54 +1,51 @@ +/* Copyright (c) 2007, 2009, 2010. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #include "private.h" +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_util, smpi, + "Logging specific to SMPI (utilities)"); + +/* int smpi_gettimeofday(struct timeval *tv, struct timezone *tz) { - double now; - int retval = 0; - smpi_bench_end(); - if (NULL == tv) { - retval = -1; - } else { - now = SIMIX_get_clock(); - tv->tv_sec = now; - tv->tv_usec = ((now - (double)tv->tv_sec) * 1000000.0); - } - smpi_bench_begin(); - return retval; + double now; + int retval; + smpi_bench_end(); + retval = 0; + if (NULL == tv) { + retval = -1; + } else { + now = SIMIX_get_clock(); + tv->tv_sec = now; + tv->tv_usec = ((now - (double) tv->tv_sec) * 1000000.0); + } + smpi_bench_begin(); + return retval; } unsigned int smpi_sleep(unsigned int seconds) { - smx_mutex_t mutex; - smx_cond_t cond; - smx_host_t host; - smx_action_t action; - - smpi_bench_end(); - host = SIMIX_host_self(); - action = SIMIX_action_sleep(host, seconds); - mutex = SIMIX_mutex_init(); - cond = SIMIX_cond_init(); - - SIMIX_mutex_lock(mutex); - SIMIX_register_action_to_condition(action, cond); - SIMIX_cond_wait(cond, mutex); - SIMIX_unregister_action_to_condition(action, cond); - SIMIX_mutex_unlock(mutex); - - SIMIX_mutex_destroy(mutex); - SIMIX_cond_destroy(cond); - //SIMIX_action_destroy(action); + smx_host_t host; + smx_action_t action; - smpi_bench_begin(); - return 0; + smpi_bench_end(); + host = SIMIX_host_self(); + action = SIMIX_action_sleep(host, (double)seconds); + smpi_process_wait_action(action); + SIMIX_action_destroy(action); + smpi_bench_begin(); + return 0; } void smpi_exit(int status) { - smpi_bench_end(); - SIMIX_mutex_lock(smpi_global->running_hosts_count_mutex); - smpi_global->running_hosts_count--; - SIMIX_mutex_unlock(smpi_global->running_hosts_count_mutex); - SIMIX_process_kill(SIMIX_process_self()); - return; + smpi_bench_end(); + smpi_process_finalize(); + SIMIX_process_kill(SIMIX_process_self()); + return; } +*/