1---Thread-Announcement------------------------------------------
2
3Thread #x was created
4   ...
5   by 0x........: pthread_create@* (hg_intercepts.c:...)
6   by 0x........: main (annotate_rwlock.c:164)
7
8---Thread-Announcement------------------------------------------
9
10Thread #x was created
11   ...
12   by 0x........: pthread_create@* (hg_intercepts.c:...)
13   by 0x........: main (annotate_rwlock.c:164)
14
15----------------------------------------------------------------
16
17Possible data race during read of size 4 at 0x........ by thread #x
18Locks held: none
19   at 0x........: rwlock_rdlock (annotate_rwlock.c:71)
20   by 0x........: thread_func (annotate_rwlock.c:144)
21   by 0x........: mythread_wrapper (hg_intercepts.c:...)
22   ...
23
24This conflicts with a previous write of size 4 by thread #x
25Locks held: none
26   at 0x........: rwlock_wrlock (annotate_rwlock.c:106)
27   by 0x........: thread_func (annotate_rwlock.c:147)
28   by 0x........: mythread_wrapper (hg_intercepts.c:...)
29   ...
30 Address 0x........ is 4 bytes inside data symbol "s_rwlock"
31
32----------------------------------------------------------------
33
34Possible data race during read of size 4 at 0x........ by thread #x
35Locks held: none
36   at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
37   by 0x........: thread_func (annotate_rwlock.c:144)
38   by 0x........: mythread_wrapper (hg_intercepts.c:...)
39   ...
40
41This conflicts with a previous write of size 4 by thread #x
42Locks held: none
43   at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
44   by 0x........: thread_func (annotate_rwlock.c:144)
45   by 0x........: mythread_wrapper (hg_intercepts.c:...)
46   ...
47 Address 0x........ is 8 bytes inside data symbol "s_rwlock"
48
49----------------------------------------------------------------
50
51Possible data race during write of size 4 at 0x........ by thread #x
52Locks held: none
53   at 0x........: rwlock_rdlock (annotate_rwlock.c:81)
54   by 0x........: thread_func (annotate_rwlock.c:144)
55   by 0x........: mythread_wrapper (hg_intercepts.c:...)
56   ...
57
58This conflicts with a previous read of size 4 by thread #x
59Locks held: none
60   at 0x........: rwlock_unlock (annotate_rwlock.c:131)
61   by 0x........: thread_func (annotate_rwlock.c:149)
62   by 0x........: mythread_wrapper (hg_intercepts.c:...)
63   ...
64 Address 0x........ is 8 bytes inside data symbol "s_rwlock"
65
66----------------------------------------------------------------
67
68Possible data race during write of size 4 at 0x........ by thread #x
69Locks held: none
70   at 0x........: rwlock_unlock (annotate_rwlock.c:121)
71   by 0x........: thread_func (annotate_rwlock.c:146)
72   by 0x........: mythread_wrapper (hg_intercepts.c:...)
73   ...
74
75This conflicts with a previous read of size 4 by thread #x
76Locks held: none
77   at 0x........: rwlock_unlock (annotate_rwlock.c:131)
78   by 0x........: thread_func (annotate_rwlock.c:149)
79   by 0x........: mythread_wrapper (hg_intercepts.c:...)
80   ...
81 Address 0x........ is 8 bytes inside data symbol "s_rwlock"
82
83----------------------------------------------------------------
84
85Possible data race during write of size 4 at 0x........ by thread #x
86Locks held: none
87   at 0x........: rwlock_wrlock (annotate_rwlock.c:106)
88   by 0x........: thread_func (annotate_rwlock.c:147)
89   by 0x........: mythread_wrapper (hg_intercepts.c:...)
90   ...
91
92This conflicts with a previous read of size 4 by thread #x
93Locks held: none
94   at 0x........: rwlock_unlock (annotate_rwlock.c:132)
95   by 0x........: thread_func (annotate_rwlock.c:149)
96   by 0x........: mythread_wrapper (hg_intercepts.c:...)
97   ...
98 Address 0x........ is 4 bytes inside data symbol "s_rwlock"
99
100----------------------------------------------------------------
101
102 Lock at 0x........ was first observed
103   at 0x........: rwlock_init (annotate_rwlock.c:54)
104   by 0x........: main (annotate_rwlock.c:161)
105 Address 0x........ is 0 bytes inside data symbol "s_rwlock"
106
107Possible data race during write of size 4 at 0x........ by thread #x
108Locks held: 1, at address 0x........
109   at 0x........: rwlock_unlock (annotate_rwlock.c:127)
110   by 0x........: thread_func (annotate_rwlock.c:149)
111   by 0x........: mythread_wrapper (hg_intercepts.c:...)
112   ...
113
114This conflicts with a previous read of size 4 by thread #x
115Locks held: none
116   at 0x........: rwlock_unlock (annotate_rwlock.c:132)
117   by 0x........: thread_func (annotate_rwlock.c:149)
118   by 0x........: mythread_wrapper (hg_intercepts.c:...)
119   ...
120 Address 0x........ is 4 bytes inside data symbol "s_rwlock"
121
122Finished.
123