projects
/
libcds.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4ee5e1d
)
Fixed Map_InsDel_func test
author
khizmax
<khizmax@gmail.com>
Mon, 21 Dec 2015 15:03:36 +0000
(18:03 +0300)
committer
khizmax
<khizmax@gmail.com>
Mon, 21 Dec 2015 15:03:36 +0000
(18:03 +0300)
tests/unit/map2/map_insdel_func.h
patch
|
blob
|
history
diff --git
a/tests/unit/map2/map_insdel_func.h
b/tests/unit/map2/map_insdel_func.h
index ded6542e8060e4e2df0fe76be0ff94e740b38cd7..3b98c5789e3dd561166f46e73a8d6a332c719525 100644
(file)
--- a/
tests/unit/map2/map_insdel_func.h
+++ b/
tests/unit/map2/map_insdel_func.h
@@
-37,7
+37,7
@@
namespace map2 {
struct value_type {
size_t nKey;
size_t nData;
struct value_type {
size_t nKey;
size_t nData;
-
atomics::atomic<size_t>
nUpdateCall;
+
size_t
nUpdateCall;
atomics::atomic<bool> bInitialized;
cds::OS::ThreadId threadId; // inserter thread id
atomics::atomic<bool> bInitialized;
cds::OS::ThreadId threadId; // inserter thread id
@@
-55,7
+55,7
@@
namespace map2 {
value_type( value_type const& s )
: nKey(s.nKey)
, nData(s.nData)
value_type( value_type const& s )
: nKey(s.nKey)
, nData(s.nData)
- , nUpdateCall(
s.nUpdateCall.load(atomics::memory_order_relaxed)
)
+ , nUpdateCall(
s.nUpdateCall
)
, bInitialized( s.bInitialized.load(atomics::memory_order_relaxed))
, threadId( cds::OS::get_current_thread_id())
{}
, bInitialized( s.bInitialized.load(atomics::memory_order_relaxed))
, threadId( cds::OS::get_current_thread_id())
{}
@@
-65,7
+65,7
@@
namespace map2 {
{
nKey = v.nKey;
nData = v.nData;
{
nKey = v.nKey;
nData = v.nData;
- nUpdateCall
.store( v.nUpdateCall.load(atomics::memory_order_relaxed), atomics::memory_order_relaxed )
;
+ nUpdateCall
= v.nUpdateCall
;
bInitialized.store(v.bInitialized.load(atomics::memory_order_relaxed), atomics::memory_order_relaxed);
return *this;
bInitialized.store(v.bInitialized.load(atomics::memory_order_relaxed), atomics::memory_order_relaxed);
return *this;
@@
-193,18
+193,17
@@
namespace map2 {
{}
template <typename Key, typename Val>
{}
template <typename Key, typename Val>
- void operator()( bool
bNew
, Key const& key, Val& v )
+ void operator()( bool
/*bNew*/
, Key const& key, Val& v )
{
std::unique_lock<typename value_type::lock_type> ac( v.m_access );
{
std::unique_lock<typename value_type::lock_type> ac( v.m_access );
- if (
bNew
) {
+ if (
!v.bInitialized.load( atomics::memory_order_acquire )
) {
++nCreated;
v.nKey = key;
v.nData = key * 8;
v.bInitialized.store( true, atomics::memory_order_relaxed);
}
else {
++nCreated;
v.nKey = key;
v.nData = key * 8;
v.bInitialized.store( true, atomics::memory_order_relaxed);
}
else {
- assert( v.bInitialized.load( atomics::memory_order_relaxed ));
- v.nUpdateCall.fetch_add( 1, atomics::memory_order_relaxed );
+ ++v.nUpdateCall;
++nModified;
}
}
++nModified;
}
}