2.4.1.1.5. Active Wait For Critical Section Using Atomic Swap
while (AtomicSwap (bCriticalSectionBusy, true))
{
// Active waiting cycle until the
// value of the bCriticalSectionBusy
// variable has changed from false to true
}
// Code of critical section comes here
...
bCriticalSectionBusy = false;