+++ /dev/null
-/* Peterson's solution to the mutual exclusion problem - 1981 */
-
-bool turn, flag[2];
-byte ncrit;
-
-active [2] proctype user()
-{
- assert(_pid == 0 || _pid == 1);
-again:
- flag[_pid] = 1;
- turn = _pid;
- (flag[1 - _pid] == 0 || turn == 1 - _pid);
-
- ncrit++;
- assert(ncrit == 1); /* critical section */
- ncrit--;
-
- flag[_pid] = 0;
- goto again
-}