]> AND Public Git Repository - simgrid.git/blobdiff - src/smpi/smpi_bench.c
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
dupplicate the sender buffer in eager mode, when isends are changed into dsends ...
[simgrid.git] / src / smpi / smpi_bench.c
index e91f9c74824c6b39bc81006fcd287d2e132229cf..363381559f2a3873a1336acbe326f7ba2c4c1c6d 100644 (file)
@@ -171,18 +171,22 @@ void smpi_bench_end(void)
 
 unsigned int smpi_sleep(unsigned int secs)
 {
+  smpi_bench_end();
   smpi_execute((double) secs);
+  smpi_bench_begin();
   return secs;
 }
 
 int smpi_gettimeofday(struct timeval *tv, struct timezone *tz)
 {
-  double now = SIMIX_get_clock();
-
+  double now;
+  smpi_bench_end();
+  now = SIMIX_get_clock();
   if (tv) {
-    tv->tv_sec = (time_t) now;
-    tv->tv_usec = (suseconds_t) (now * 1e6);
+    tv->tv_sec = (time_t)now;
+    tv->tv_usec = (suseconds_t)((now - tv->tv_sec) * 1e6);
   }
+  smpi_bench_begin();
   return 0;
 }
 
@@ -368,7 +372,8 @@ int smpi_shared_known_call(const char* func, const char* input) {
    TRY {
       xbt_dict_get(calls, loc); /* Succeed or throw */
       known = 1;
-   } CATCH(ex) {
+   }
+   CATCH(ex) {
       if(ex.category == not_found_error) {
          known = 0;
          xbt_ex_free(ex);