|
From: Nicholas N. <nj...@cs...> - 2007-01-02 21:40:57
|
On Mon, 1 Jan 2007, Duncan Sands wrote: > thanks for doing this. I gave it a whirl and it seems to work fine. > However it reported a false positive: two threads, thread 1 and thread 2, > write to the same memory location in an unsynchronized way, but they write > *the same value* to it. Thread 1 then reads the value, which may have last > been written by thread 1 or thread 2. This gets reported as a race, even > though there is no race since the value read is independent of the order > in which the threads wrote it: That's a tricky case -- drd doesn't know if those two values will always be the same (in which case it shouldn't issue an error message) or if it just got lucky this time (in which case it should). Nick |