Basic System Problem Analysis - August 2003

85
Case Study: Hang Memory Dump continued
Pin 60 is waiting on the semaphore that pin 35 holds. Pin 35 is waiting on the semaphore
that pin 60 holds. The classic deadly embrace.
The macro RM_SEM_DEADLOCK would actually have been a much better choice here,
as it would have detected this and displayed the two pins involved:
$161 ($0) nmdat > rm_sem_deadlock
**********************
* Deadlock detected. *
**********************
Suspected PINs: $$35 $60 $$60 $35
The output “$$35” and “$$60indicate the holders of semaphores and “$35” and $60
are the pins waiting. The problem is obvious!