1---Thread-Announcement------------------------------------------
2
3Thread #x was created
4   ...
5   by 0x........: pthread_create@* (hg_intercepts.c:...)
6   by 0x........: main (locked_vs_unlocked2.c:61)
7
8---Thread-Announcement------------------------------------------
9
10Thread #x was created
11   ...
12   by 0x........: pthread_create@* (hg_intercepts.c:...)
13   by 0x........: main (locked_vs_unlocked2.c:62)
14
15----------------------------------------------------------------
16
17Lock at 0x........ was first observed
18   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
19   by 0x........: main (locked_vs_unlocked2.c:58)
20
21Lock at 0x........ was first observed
22   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
23   by 0x........: main (locked_vs_unlocked2.c:59)
24
25Lock at 0x........ was first observed
26   at 0x........: pthread_mutex_init (hg_intercepts.c:...)
27   by 0x........: main (locked_vs_unlocked2.c:57)
28
29Possible data race during write of size 4 at 0x........ by thread #x
30Locks held: 2, at addresses 0x........ 0x........
31   at 0x........: child_fn2 (locked_vs_unlocked2.c:45)
32   by 0x........: mythread_wrapper (hg_intercepts.c:...)
33   ...
34
35This conflicts with a previous write of size 4 by thread #x
36Locks held: 2, at address 0x........ (and 1 that can't be shown)
37   at 0x........: child_fn1 (locked_vs_unlocked2.c:29)
38   by 0x........: mythread_wrapper (hg_intercepts.c:...)
39   ...
40 Address 0x........ is 0 bytes inside data symbol "x"
41
42