Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
model-checker : move functions about snapshot comparison in a separate file mc_compare.c
[simgrid.git] / src / simix / smx_host.c
index 248eb91..a247d60 100644 (file)
@@ -210,12 +210,13 @@ void SIMIX_host_add_auto_restart_process(smx_host_t host,
   arg->kill_time = kill_time;
   arg->argc = argc;
 
-  arg->argv = xbt_new(char*,argc);
+  arg->argv = xbt_new(char*,argc + 1);
 
   int i;
   for (i = 0; i < argc; i++) {
     arg->argv[i] = xbt_strdup(argv[i]);
   }
+  arg->argv[argc] = NULL;
 
   arg->properties = properties;
   arg->auto_restart = auto_restart;
@@ -353,19 +354,14 @@ smx_action_t SIMIX_host_parallel_execute( const char *name,
 
 void SIMIX_host_execution_destroy(smx_action_t action)
 {
-  int destroyed=0;
   XBT_DEBUG("Destroy action %p", action);
 
-
   if (action->execution.surf_exec) {
-    destroyed = surf_workstation_model->action_unref(action->execution.surf_exec);
+    surf_workstation_model->action_unref(action->execution.surf_exec);
     action->execution.surf_exec = NULL;
   }
-
-  if (destroyed) {
-    xbt_free(action->name);
-    xbt_mallocator_release(simix_global->action_mallocator, action);
-  }
+  xbt_free(action->name);
+  xbt_mallocator_release(simix_global->action_mallocator, action);
 }
 
 void SIMIX_host_execution_cancel(smx_action_t action)