1
2Establish order 1 -> 2
3Try order 2 -> 1.  This gives an error.
4---Thread-Announcement------------------------------------------
5
6Thread #x is the program's root thread
7
8----------------------------------------------------------------
9
10Thread #x: lock order "0x........ before 0x........" violated
11
12Observed (incorrect) order is: acquisition of lock at 0x........
13   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
14   by 0x........: main (tc15_laog_lockdel.c:35)
15
16 followed by a later acquisition of lock at 0x........
17   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
18   by 0x........: main (tc15_laog_lockdel.c:36)
19
20Required order was established by acquisition of lock at 0x........
21   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
22   by 0x........: main (tc15_laog_lockdel.c:27)
23
24 followed by a later acquisition of lock at 0x........
25   at 0x........: pthread_mutex_lock (hg_intercepts.c:...)
26   by 0x........: main (tc15_laog_lockdel.c:28)
27
28Free 2 and re-allocate it.  This gives it a new identity,
29so a second locking sequence 2 -> 1 should now be OK.
30done
31
32ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
33