#define n 2
#define True 1
#define false 0
int interested[n]=False
int turn;
void entry_section(int process)
{
int other;
other=1-process;
interested[process]=TRUE;
Turn=Process;
while(interested[other]==True && turn== process);
//ENTERS CS//
void exit_section(int process)
{
interested[process]=False;
}
Теперь скажите, что у нас есть 2 процесса P0 и P1. Скажем, P0 прервано после выполнения turn = process, а затем P1 входит и выполняет entry_section, когда P1 достигает условия while, он находит условие while равным true и будет ждать, что должно привести к спин-блокировке.
Но повсюду дается, что в алгоритме Петерсона никогда не может возникать тупик и спин-блокировка.
Так, пожалуйста, ведите меня, где я ошибся?