Skip to content

1.26.0

@m3bm3b m3bm3b tagged this 24 May 19:44
I had previously added some TSan dynamic annotations to nsync to avoid TSan
race warnings.  However, depending on whether gcc or clang was used, and
depending on the version of clang used, TSan race warnings could be reported on
the nsync tests.

When TSan is in used, this change adds a call to AnnotateRWLockAcquired just
after each nsync mu acquistion, and a call AnnotateRWLockReleased just before
each release.  Additionally, AnnotateRWLockCreate is called at each mu
creation.  (nsync mutex destruction is inferred when memory is recycled.)
Macros are used so that these additional calls are not introduced when TSan is
not in use.

All tests now pass without warnings in TSan mode in both clang and gcc,
including in all the versions that previously reported warnings.

In addition, the version number is incremented, and there are a few minor
whitespace changes to make the TSan annotations conform the the project's
whitespace conventions.
Assets 2
Loading