| Index: base/time/time_win_unittest.cc
|
| diff --git a/base/time/time_win_unittest.cc b/base/time/time_win_unittest.cc
|
| index 75b237ed65da1a36f9f17c9da6ce0352113ac504..93b200b53575ee52b2bfae136fedf6b50e119bd3 100644
|
| --- a/base/time/time_win_unittest.cc
|
| +++ b/base/time/time_win_unittest.cc
|
| @@ -12,6 +12,7 @@
|
|
|
| #include "base/threading/platform_thread.h"
|
| #include "base/time/time.h"
|
| +#include "base/win/scoped_handle.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| using base::Time;
|
| @@ -86,15 +87,17 @@ TEST(TimeTicks, WinRollover) {
|
| // Setup
|
| MockTimeTicks::InstallTicker();
|
| g_rollover_test_start = CreateEvent(0, TRUE, FALSE, 0);
|
| - HANDLE threads[kThreads];
|
| + // Since using _beginthreadex() (as opposed to _beginthread), make sure
|
| + // CloseHandle is called.
|
| + base::win::ScopedHandle threads[kThreads];
|
|
|
| for (int index = 0; index < kThreads; index++) {
|
| void* argument = reinterpret_cast<void*>(kChecks);
|
| unsigned thread_id;
|
| - threads[index] = reinterpret_cast<HANDLE>(
|
| + threads[index].Set(reinterpret_cast<HANDLE>(
|
| _beginthreadex(NULL, 0, RolloverTestThreadMain, argument, 0,
|
| - &thread_id));
|
| - EXPECT_NE((HANDLE)NULL, threads[index]);
|
| + &thread_id)));
|
| + EXPECT_EQ(true, threads[index].IsValid());
|
| }
|
|
|
| // Start!
|
| @@ -102,14 +105,11 @@ TEST(TimeTicks, WinRollover) {
|
|
|
| // Wait for threads to finish
|
| for (int index = 0; index < kThreads; index++) {
|
| - DWORD rv = WaitForSingleObject(threads[index], INFINITE);
|
| + DWORD rv = WaitForSingleObject(threads[index].Get(), INFINITE);
|
| EXPECT_EQ(rv, WAIT_OBJECT_0);
|
| - // Since using _beginthreadex() (as opposed to _beginthread),
|
| - // an explicit CloseHandle() is supposed to be called.
|
| - CloseHandle(threads[index]);
|
| }
|
|
|
| - CloseHandle(g_rollover_test_start);
|
| + CHECK(::CloseHandle(g_rollover_test_start));
|
|
|
| // Teardown
|
| MockTimeTicks::UninstallTicker();
|
|
|