diff options
author | Andy Schwerin <schwerin@10gen.com> | 2012-06-05 17:34:43 -0400 |
---|---|---|
committer | Andy Schwerin <schwerin@10gen.com> | 2012-06-06 23:28:19 -0400 |
commit | 9bb422bbce703da9913d807123480f00908de075 (patch) | |
tree | 16bcaa46c5a8793965f06e8aa768a148b686c5b5 /src/mongo/db/lockstat.cpp | |
parent | 1c3be5814406e3a03afc8cbdaa3ebe8814013271 (diff) | |
download | mongo-9bb422bbce703da9913d807123480f00908de075.tar.gz |
SERVER-5648 Replace old implementation of AtomicUInt64 with new one.
Diffstat (limited to 'src/mongo/db/lockstat.cpp')
-rw-r--r-- | src/mongo/db/lockstat.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/mongo/db/lockstat.cpp b/src/mongo/db/lockstat.cpp index a0c5537ac00..19d69d63958 100644 --- a/src/mongo/db/lockstat.cpp +++ b/src/mongo/db/lockstat.cpp @@ -26,17 +26,17 @@ namespace mongo { BSONObj LockStat::report() const { BSONObjBuilder x; BSONObjBuilder y; - x.append("R", (long long) timeLocked[0]); - x.append("W", (long long) timeLocked[1]); - if( timeLocked[2] || timeLocked[3] ) { - x.append("r", (long long) timeLocked[2]); - x.append("w", (long long) timeLocked[3]); + x.append("R", timeLocked[0].load()); + x.append("W", timeLocked[1].load()); + if( timeLocked[2].load() || timeLocked[3].load() ) { + x.append("r", timeLocked[2].load()); + x.append("w", timeLocked[3].load()); } - y.append("R", (long long) timeAcquiring[0]); - y.append("W", (long long) timeAcquiring[1]); - if( timeAcquiring[2] || timeAcquiring[3] ) { - y.append("r", (long long) timeAcquiring[2]); - y.append("w", (long long) timeAcquiring[3]); + y.append("R", timeAcquiring[0].load()); + y.append("W", timeAcquiring[1].load()); + if( timeAcquiring[2].load() || timeAcquiring[3].load() ) { + y.append("r", timeAcquiring[2].load()); + y.append("w", timeAcquiring[3].load()); } return BSON( "timeLocked" << x.obj() << @@ -65,7 +65,7 @@ namespace mongo { // hmmm.... LockStat::Acquiring::~Acquiring() { - ls.timeAcquiring[type] += tmr.micros(); + ls.timeAcquiring[type].fetchAndAdd(static_cast<long long>(tmr.micros())); if( type == 1 ) ls.W_Timer.reset(); } @@ -73,7 +73,7 @@ namespace mongo { void LockStat::unlocking(char tp) { unsigned type = mapNo(tp); if( type == 1 ) - timeLocked[type] += W_Timer.micros(); + timeLocked[type].fetchAndAdd(static_cast<long long>(W_Timer.micros())); } } |