Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
useless cleanups
[simgrid.git] / src / simix / libsmx.cpp
index 68badd0..7269508 100644 (file)
@@ -5,7 +5,7 @@
 /*                                                                            */
 /* This is somehow the "libc" of SimGrid                                      */
 
-/* Copyright (c) 2010-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2010-2019. 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. */
@@ -28,15 +28,16 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix);
 
 /**
  * @ingroup simix_process_management
- * @brief Creates a synchro that executes some computation of an host.
+ * @brief Creates a synchro that executes some computation of a host.
  *
  * This function creates a SURF action and allocates the data necessary
- * to create the SIMIX synchro. It can raise a host_error exception if the host crashed.
+ * to create the SIMIX synchro. It can raise a HostFailureException exception if the host crashed.
  *
  * @param name Name of the execution synchro to create
+ * @param category Tracing category
  * @param flops_amount amount Computation amount (in flops)
  * @param priority computation priority
- * @param bound
+ * @param bound Maximal speed for this execution (in flops) or -1 if no limit
  * @param host host where the synchro will be executed
  * @return A new SIMIX execution synchronization
  */
@@ -72,7 +73,8 @@ smx_activity_t simcall_execution_parallel_start(std::string name, int host_nb, s
 {
   /* checking for infinite values */
   for (int i = 0 ; i < host_nb ; ++i) {
-    xbt_assert(std::isfinite(flops_amount[i]), "flops_amount[%d] is not finite!", i);
+    if (flops_amount != nullptr)
+      xbt_assert(std::isfinite(flops_amount[i]), "flops_amount[%d] is not finite!", i);
     if (bytes_amount != nullptr) {
       for (int j = 0 ; j < host_nb ; ++j) {
         xbt_assert(std::isfinite(bytes_amount[i + host_nb * j]),
@@ -164,12 +166,7 @@ void simcall_process_join(smx_actor_t process, double timeout)
 
 /**
  * @ingroup simix_process_management
- * @brief Suspends a process.
- *
- * This function suspends the process by suspending the synchro
- * it was waiting for completion.
- *
- * @param process a SIMIX process
+ * @brief Suspends an actor
  */
 void simcall_process_suspend(smx_actor_t process)
 {
@@ -196,11 +193,11 @@ void simcall_process_set_data(smx_actor_t process, void *data)
 void simcall_process_set_kill_time(smx_actor_t process, double kill_time)
 {
 
-  if (kill_time <= SIMIX_get_clock() || simix_global->kill_process_function == nullptr)
+  if (kill_time <= SIMIX_get_clock())
     return;
   XBT_DEBUG("Set kill time %f for process %s@%s", kill_time, process->get_cname(), process->host_->get_cname());
   process->kill_timer = SIMIX_timer_set(kill_time, [process] {
-    simix_global->kill_process_function(process);
+    SIMIX_process_kill(process, nullptr);
     process->kill_timer=nullptr;
   });
 }
@@ -210,7 +207,7 @@ void simcall_process_set_kill_time(smx_actor_t process, double kill_time)
  * @brief Creates a new sleep SIMIX synchro.
  *
  * This function creates a SURF action and allocates the data necessary
- * to create the SIMIX synchro. It can raise a host_error exception if the
+ * to create the SIMIX synchro. It can raise a HostFailureException if the
  * host crashed. The default SIMIX name of the synchro is "sleep".
  *
  *   @param duration Time duration of the sleep.
@@ -387,8 +384,9 @@ int simcall_comm_test(smx_activity_t comm)
  */
 smx_mutex_t simcall_mutex_init()
 {
-  if (not simix_global) {
-    fprintf(stderr,"You must run MSG_init before using MSG\n"); // We can't use xbt_die since we may get there before the initialization
+  if (simix_global == nullptr) {
+    fprintf(stderr, "You must initialize the SimGrid engine before using it\n"); // We can't use xbt_die since we may
+                                                                                 // get there before the initialization
     xbt_abort();
   }
   return simgrid::simix::simcall([] { return new simgrid::kernel::activity::MutexImpl(); });