Opened 6 years ago

Closed 6 years ago

#12245 closed Bugs (fixed)

intrusive::bstree uses a shared static size_traits for constant_time_size<false>

Reported by: Jason Dillaman <dillaman@…> Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: intrusive
Version: Boost 1.61.0 Severity: Problem
Keywords: Cc:

Description

This causes helgrind warnings about data races to size_holder::decrement when multiple instances of the same set instantiation is used.

See https://github.com/boostorg/intrusive/blob/4cf38987a88e1bb1157f1b8957bc0fc167b576e4/include/boost/intrusive/bstree.hpp#L563

Change History (1)

comment:1 by Ion Gaztañaga, 6 years ago

Resolution: fixed
Status: newclosed

Thanks for the report. There is no risk as static instances are empty, but I decided to clean up the code to avoid statics and make tools happier. Committed to trunk:

https://github.com/boostorg/intrusive/commit/2d55c664757ffe13124e57fd7423d959f50f0975

Note: See TracTickets for help on using tickets.