Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Ensure that the same process never appears twice in the list of process_to_run.
authorArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 25 Apr 2012 22:14:37 +0000 (00:14 +0200)
committerArnaud Legrand <arnaud.legrand@imag.fr>
Wed, 25 Apr 2012 23:13:39 +0000 (01:13 +0200)
commit84363409250e5a325ad2efbb7c93c85b9ed332ea
tree6b4aeb604e1691383e2804217d9bebef553dba4d
parent30b2d25dd879ac6a3d9a48ab48129f87a02f03f1
Ensure that the same process never appears twice in the list of process_to_run.

Otherwise, it would be awaken twice. The first time, it would execute then
wait on the completion of a new simcall. The second time it would appear
to return from the new simcall but the simcall would not have been
executed.

Since resume and kill are particular functions/simcalls that change
the behavior of other process, it is ok if the process was already in the
process_to_run list (although it must not appear twice). For other simcalls,
I think it is invalid if two simcalls lead the scheduling of the same
process.
src/simix/smx_process.c
src/simix/smx_smurf.c