// ------------------------------------------------------------ // The exit protocol is simple: all we have to do is to reset // the lock variable, and to signal successful access to cs. // ------------------------------------------------------------ package Communication.MutexProtocols.Fischer; macro NumProc = 5; module ExitProtocol(bool done,nat{NumProc()} lock) { next(lock) = 0; done = true; next(done) = false; }