X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Ftest%2FSpinLockTest.cpp;h=67279a700f82367151b122f673fcb118616c2617;hp=b2387ea7b966e04998acf11b76c376a5c08ce686;hb=a0c640e8e2ff45bc43b9f8d96cd108bb66635bee;hpb=92f554a525fc603232cc80b4603e4d43ec6b50de diff --git a/folly/test/SpinLockTest.cpp b/folly/test/SpinLockTest.cpp index b2387ea7..67279a70 100644 --- a/folly/test/SpinLockTest.cpp +++ b/folly/test/SpinLockTest.cpp @@ -68,16 +68,19 @@ template void trylockTestThread(TryLockState* state, size_t count) { while (true) { folly::asm_pause(); + bool ret = state->lock2.try_lock(); SpinLockGuardImpl g(state->lock1); if (state->obtained >= count) { + if (ret) { + state->lock2.unlock(); + } break; } - bool ret = state->lock2.try_lock(); - EXPECT_NE(state->locked, ret); if (ret) { // We got lock2. + EXPECT_NE(state->locked, ret); ++state->obtained; state->locked = true;