Lines Matching defs:race
9 // This file is a part of ThreadSanitizer (TSan), a race detector.
83 ExpectRace *race = list->next;
84 for (; race != list; race = race->next) {
85 if (race->addr == addr && race->size == size) {
86 atomic_store_relaxed(&race->addcount,
87 atomic_load_relaxed(&race->addcount) + 1);
91 race = static_cast<ExpectRace *>(Alloc(sizeof(ExpectRace)));
92 race->addr = addr;
93 race->size = size;
94 race->file = f;
95 race->line = l;
96 race->desc[0] = 0;
97 atomic_store_relaxed(&race->hitcount, 0);
98 atomic_store_relaxed(&race->addcount, 1);
102 race->desc[i] = desc[i];
103 race->desc[i] = 0;
105 race->prev = list;
106 race->next = list->next;
107 race->next->prev = race;
108 list->next = race;
112 for (ExpectRace *race = list->next; race != list; race = race->next) {
113 uptr maxbegin = max(race->addr, addr);
114 uptr minend = min(race->addr + race->size, addr + size);
116 return race;
122 ExpectRace *race = FindRace(list, addr, size);
123 if (race == 0)
125 DPrintf("Hit expected/benign race: %s addr=%zx:%d %s:%d\n",
126 race->desc, race->addr, (int)race->size, race->file, race->line);
127 atomic_fetch_add(&race->hitcount, 1, memory_order_relaxed);
254 DPrintf("Add benign race: %s addr=%zx %s:%d\n", desc, mem, f, l);