Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Making the exception/exception test work:
authorArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 8 Apr 2015 13:06:44 +0000 (15:06 +0200)
committerArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 8 Apr 2015 16:00:06 +0000 (18:00 +0200)
commit068c7c9cf6ec9fe22cc80d65633a7c05caf767f5
tree3fd097d6ed96a78149f430886d28e4b78fb24bec
parent308a7ae682761b25e25a3a121d86f4ee051d73cd
Making the exception/exception test work:

  Always putting the process in the process_to_run list is bad.
  Indeed, when canceling tasks (e.g., with SIMIX_host_execution_cancel),
  the action will be cancelled and the corresponding process will be
  run again when the action is popped from the list. This leads to very
  surprising behavior since the action is only popped way after, generally
  after calling surf_solve.... This is why the fix has two parts:
  1) Do not put in the process_to_run list when canceling the action
  2) Once all process have been run, pop the surf actions in case some have been modified
src/simix/smx_global.c
src/simix/smx_process.c