Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do not try to resume a dying process. The corresponding surf structure
authorArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 25 Apr 2012 22:16:22 +0000 (00:16 +0200)
committerArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 25 Apr 2012 23:13:39 +0000 (01:13 +0200)
would already have been freed, and this would result in a mess. That's
also why we make sure that resume simcalls occurs before kill simcalls
in SIMIX_run.

src/simix/smx_process.c

index d08aead..215e06a 100644 (file)
@@ -381,7 +381,8 @@ void SIMIX_process_resume(smx_process_t process, smx_process_t issuer)
 {
   xbt_assert((process != NULL), "Invalid parameters");
 
-  process->suspended = 0;
+  if(process->context->iwannadie) return;
+    process->suspended = 0;
 
   /* If we are resuming another process, resume the action it was waiting for
      if any. Otherwise add it to the list of process to run in the next round. */