Fixed serious bug in MichaelSet::emplace() function
authorkhizmax <libcds.dev@gmail.com>
Tue, 15 Mar 2016 21:42:02 +0000 (00:42 +0300)
committerkhizmax <libcds.dev@gmail.com>
Tue, 15 Mar 2016 21:42:02 +0000 (00:42 +0300)
commit6fe6325445936076e06f13a2ee77dbe63eeb1058
tree260e62e2461e2bf5c7e5c414581d8346ccbba8dd
parentfa9910ef120ecdaaa21ebb63a52659befbbf46ed
Fixed serious bug in MichaelSet::emplace() function
New node was created twice from the arguments by move semantics. However, move semantics may change internal state of the argument. This can lead to an incorrect element in the set and event to an incorrect key that breaks the set.
cds/container/impl/michael_list.h
cds/container/michael_set.h