
The old deadlock code was misplaced and unable to deal with asynchronous IPC primitives (notify and senda) effectively. As an example, the following sequence of messages allowed the deadlock detection code to trigger a false positive: 1. A.notify(B) 2. A.receive(B) 3. B.receive(A) 1. B.notify(A) The solution is to run the deadlock detection routine only when a process is about to block in mini_send() or mini_receive().
Description
Languages
C
78.2%
Roff
10.2%
Assembly
4.6%
Shell
3.7%
Makefile
1.6%
Other
1.2%