Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Biggest commit ever (SIMIX2): the user processes can now run in parallel
[simgrid.git] / src / smpi / smpi_util.c
index c5bc013..16b7117 100644 (file)
@@ -1,8 +1,15 @@
+/* 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;
@@ -23,34 +30,13 @@ int smpi_gettimeofday(struct timeval *tv, struct timezone *tz)
 unsigned int smpi_sleep(unsigned int seconds)
 {
   smx_host_t host;
-  smx_mutex_t mutex;
-  smx_cond_t cond;
   smx_action_t action;
-  e_surf_action_state_t state;
 
   smpi_bench_end();
-
   host = SIMIX_host_self();
-  mutex = smpi_host_mutex();
-  cond = smpi_host_cond();
-
-  SIMIX_mutex_lock(mutex);
-
-  // FIXME: explicit conversion to double?
-  action = SIMIX_action_sleep(host, seconds);
-
-  SIMIX_register_action_to_condition(action, cond);
-  for (state = SIMIX_action_get_state(action);
-       state == SURF_ACTION_READY ||
-       state == SURF_ACTION_RUNNING; state = SIMIX_action_get_state(action)
-    ) {
-    SIMIX_cond_wait(cond, mutex);
-  }
-  SIMIX_unregister_action_to_condition(action, cond);
-  SIMIX_action_destroy(action);
-
-  SIMIX_mutex_unlock(mutex);
-
+  action = SIMIX_req_action_sleep(host, (double)seconds);
+  smpi_process_wait_action(action);
+  SIMIX_req_action_destroy(action);
   smpi_bench_begin();
   return 0;
 }
@@ -58,7 +44,8 @@ unsigned int smpi_sleep(unsigned int seconds)
 void smpi_exit(int status)
 {
   smpi_bench_end();
-  smpi_mpi_finalize();
-  SIMIX_process_kill(SIMIX_process_self());
+  smpi_process_finalize();
+  SIMIX_req_process_kill(SIMIX_process_self());
   return;
 }
+*/