* Fixed serious bug in MichaelSet::emplace() function
authorkhizmax <libcds.dev@gmail.com>
Wed, 16 Mar 2016 21:08:58 +0000 (00:08 +0300)
committerkhizmax <libcds.dev@gmail.com>
Wed, 16 Mar 2016 21:08:58 +0000 (00:08 +0300)
commit70cba4469ee675d00bfa91c10879753296e819d5
tree7ef4c50c530f115d6d8978fac9c8f81b72767776
parent0a575798dc4c275866d741aa9779f7653e94865b
* 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 even to an incorrect key that breaks the set logic.
cds/container/michael_list_nogc.h
cds/container/michael_list_rcu.h
cds/container/michael_set_nogc.h
cds/container/michael_set_rcu.h