Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix a race condition in SwappedCtx parallel exec
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Sat, 19 Jan 2019 22:18:07 +0000 (23:18 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Sun, 20 Jan 2019 00:01:57 +0000 (01:01 +0100)
commitd7fb52aa1f18cd70a51a6d8913c1a4513fea7ce7
treea896ff729161db30d0943de46b9b7e5c1ba30749
parentc5bf8d0723c36491a1bf37a9f27858b43c4c6e2c
Fix a race condition in SwappedCtx parallel exec

The protection in set_maestro was failing to detect between the real
maestro and the working threads of the parmal. This is now fixed
according to helgrind.

Also, refactor things a bit by moving this set_maestro call directly
into the SwappedCtx constructor. Much less of a shotgun surgery :)
src/kernel/context/ContextBoost.cpp
src/kernel/context/ContextRaw.cpp
src/kernel/context/ContextSwapped.cpp
src/kernel/context/ContextSwapped.hpp
src/kernel/context/ContextUnix.cpp