Index: webrtc/base/thread_unittest.cc |
diff --git a/webrtc/base/thread_unittest.cc b/webrtc/base/thread_unittest.cc |
index bf3cbd0896341354e11db1fd9b7f1d0abb718398..b0c8cb59af952a3f7afea26702d758934987bdac 100644 |
--- a/webrtc/base/thread_unittest.cc |
+++ b/webrtc/base/thread_unittest.cc |
@@ -72,7 +72,8 @@ class SocketClient : public TestGenerator, public sigslot::has_slots<> { |
uint32_t prev = reinterpret_cast<const uint32_t*>(buf)[0]; |
uint32_t result = Next(prev); |
- post_thread_->PostDelayed(200, post_handler_, 0, new TestMessage(result)); |
+ post_thread_->PostDelayed(RTC_FROM_HERE, 200, post_handler_, 0, |
+ new TestMessage(result)); |
} |
private: |
@@ -211,7 +212,7 @@ TEST(ThreadTest, DISABLED_Main) { |
th2.Start(); |
// Get the messages started. |
- th1.PostDelayed(100, &msg_client, 0, new TestMessage(1)); |
+ th1.PostDelayed(RTC_FROM_HERE, 100, &msg_client, 0, new TestMessage(1)); |
// Give the clients a little while to run. |
// Messages will be processed at 100, 300, 500, 700, 900. |
@@ -272,18 +273,18 @@ TEST(ThreadTest, Invoke) { |
Thread thread; |
thread.Start(); |
// Try calling functors. |
- EXPECT_EQ(42, thread.Invoke<int>(FunctorA())); |
+ EXPECT_EQ(42, thread.Invoke<int>(RTC_FROM_HERE, FunctorA())); |
AtomicBool called; |
FunctorB f2(&called); |
- thread.Invoke<void>(f2); |
+ thread.Invoke<void>(RTC_FROM_HERE, f2); |
EXPECT_TRUE(called.get()); |
// Try calling bare functions. |
struct LocalFuncs { |
static int Func1() { return 999; } |
static void Func2() {} |
}; |
- EXPECT_EQ(999, thread.Invoke<int>(&LocalFuncs::Func1)); |
- thread.Invoke<void>(&LocalFuncs::Func2); |
+ EXPECT_EQ(999, thread.Invoke<int>(RTC_FROM_HERE, &LocalFuncs::Func1)); |
+ thread.Invoke<void>(RTC_FROM_HERE, &LocalFuncs::Func2); |
} |
// Verifies that two threads calling Invoke on each other at the same time does |
@@ -299,13 +300,13 @@ TEST(ThreadTest, TwoThreadsInvokeNoDeadlock) { |
struct LocalFuncs { |
static void Set(bool* out) { *out = true; } |
static void InvokeSet(Thread* thread, bool* out) { |
- thread->Invoke<void>(Bind(&Set, out)); |
+ thread->Invoke<void>(RTC_FROM_HERE, Bind(&Set, out)); |
} |
}; |
bool called = false; |
other_thread.Invoke<void>( |
- Bind(&LocalFuncs::InvokeSet, current_thread, &called)); |
+ RTC_FROM_HERE, Bind(&LocalFuncs::InvokeSet, current_thread, &called)); |
EXPECT_TRUE(called); |
} |
@@ -342,7 +343,7 @@ TEST(ThreadTest, ThreeThreadsInvoke) { |
struct LocalFuncs { |
static void Set(LockedBool* out) { out->Set(true); } |
static void InvokeSet(Thread* thread, LockedBool* out) { |
- thread->Invoke<void>(Bind(&Set, out)); |
+ thread->Invoke<void>(RTC_FROM_HERE, Bind(&Set, out)); |
} |
// Set |out| true and call InvokeSet on |thread|. |
@@ -362,7 +363,8 @@ TEST(ThreadTest, ThreeThreadsInvoke) { |
AsyncInvoker invoker; |
invoker.AsyncInvoke<void>( |
- thread1, Bind(&SetAndInvokeSet, &async_invoked, thread2, out)); |
+ RTC_FROM_HERE, thread1, |
+ Bind(&SetAndInvokeSet, &async_invoked, thread2, out)); |
EXPECT_TRUE_WAIT(async_invoked.Get(), 2000); |
} |
@@ -373,8 +375,9 @@ TEST(ThreadTest, ThreeThreadsInvoke) { |
// Start the sequence A --(invoke)--> B --(async invoke)--> C --(invoke)--> A. |
// Thread B returns when C receives the call and C should be blocked until A |
// starts to process messages. |
- thread_b.Invoke<void>(Bind(&LocalFuncs::AsyncInvokeSetAndWait, |
- &thread_c, thread_a, &thread_a_called)); |
+ thread_b.Invoke<void>(RTC_FROM_HERE, |
+ Bind(&LocalFuncs::AsyncInvokeSetAndWait, &thread_c, |
+ thread_a, &thread_a_called)); |
EXPECT_FALSE(thread_a_called.Get()); |
EXPECT_TRUE_WAIT(thread_a_called.Get(), 2000); |
@@ -424,7 +427,7 @@ class AsyncInvokeTest : public testing::Test { |
} |
void AsyncInvokeIntCallback(AsyncInvoker* invoker, Thread* thread) { |
expected_thread_ = thread; |
- invoker->AsyncInvoke(thread, FunctorC(), |
+ invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, thread, FunctorC(), |
&AsyncInvokeTest::IntCallback, |
static_cast<AsyncInvokeTest*>(this)); |
invoke_started_.Set(); |
@@ -452,7 +455,7 @@ TEST_F(AsyncInvokeTest, FireAndForget) { |
thread.Start(); |
// Try calling functor. |
AtomicBool called; |
- invoker.AsyncInvoke<void>(&thread, FunctorB(&called)); |
+ invoker.AsyncInvoke<void>(RTC_FROM_HERE, &thread, FunctorB(&called)); |
EXPECT_TRUE_WAIT(called.get(), kWaitTimeout); |
} |
@@ -463,7 +466,7 @@ TEST_F(AsyncInvokeTest, WithCallback) { |
thread.Start(); |
// Try calling functor. |
SetExpectedThreadForIntCallback(Thread::Current()); |
- invoker.AsyncInvoke(&thread, FunctorA(), |
+ invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, &thread, FunctorA(), |
&AsyncInvokeTest::IntCallback, |
static_cast<AsyncInvokeTest*>(this)); |
EXPECT_EQ_WAIT(42, int_value_, kWaitTimeout); |
@@ -476,7 +479,7 @@ TEST_F(AsyncInvokeTest, CancelInvoker) { |
// Try destroying invoker during call. |
{ |
AsyncInvoker invoker; |
- invoker.AsyncInvoke(&thread, FunctorC(), |
+ invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, &thread, FunctorC(), |
&AsyncInvokeTest::IntCallback, |
static_cast<AsyncInvokeTest*>(this)); |
} |
@@ -491,9 +494,10 @@ TEST_F(AsyncInvokeTest, CancelCallingThread) { |
Thread thread; |
thread.Start(); |
// Try calling functor. |
- thread.Invoke<void>(Bind(&AsyncInvokeTest::AsyncInvokeIntCallback, |
- static_cast<AsyncInvokeTest*>(this), |
- &invoker, Thread::Current())); |
+ thread.Invoke<void>( |
+ RTC_FROM_HERE, |
+ Bind(&AsyncInvokeTest::AsyncInvokeIntCallback, |
+ static_cast<AsyncInvokeTest*>(this), &invoker, Thread::Current())); |
// Wait for the call to begin. |
ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout)); |
} |
@@ -508,9 +512,10 @@ TEST_F(AsyncInvokeTest, KillInvokerBeforeExecute) { |
{ |
AsyncInvoker invoker; |
// Try calling functor. |
- thread.Invoke<void>(Bind(&AsyncInvokeTest::AsyncInvokeIntCallback, |
- static_cast<AsyncInvokeTest*>(this), |
- &invoker, Thread::Current())); |
+ thread.Invoke<void>( |
+ RTC_FROM_HERE, |
+ Bind(&AsyncInvokeTest::AsyncInvokeIntCallback, |
+ static_cast<AsyncInvokeTest*>(this), &invoker, Thread::Current())); |
// Wait for the call to begin. |
ASSERT_TRUE(invoke_started_.Wait(kWaitTimeout)); |
} |
@@ -524,10 +529,8 @@ TEST_F(AsyncInvokeTest, Flush) { |
AtomicBool flag1; |
AtomicBool flag2; |
// Queue two async calls to the current thread. |
- invoker.AsyncInvoke<void>(Thread::Current(), |
- FunctorB(&flag1)); |
- invoker.AsyncInvoke<void>(Thread::Current(), |
- FunctorB(&flag2)); |
+ invoker.AsyncInvoke<void>(RTC_FROM_HERE, Thread::Current(), FunctorB(&flag1)); |
+ invoker.AsyncInvoke<void>(RTC_FROM_HERE, Thread::Current(), FunctorB(&flag2)); |
// Because we haven't pumped messages, these should not have run yet. |
EXPECT_FALSE(flag1.get()); |
EXPECT_FALSE(flag2.get()); |
@@ -542,11 +545,9 @@ TEST_F(AsyncInvokeTest, FlushWithIds) { |
AtomicBool flag1; |
AtomicBool flag2; |
// Queue two async calls to the current thread, one with a message id. |
- invoker.AsyncInvoke<void>(Thread::Current(), |
- FunctorB(&flag1), |
+ invoker.AsyncInvoke<void>(RTC_FROM_HERE, Thread::Current(), FunctorB(&flag1), |
5); |
- invoker.AsyncInvoke<void>(Thread::Current(), |
- FunctorB(&flag2)); |
+ invoker.AsyncInvoke<void>(RTC_FROM_HERE, Thread::Current(), FunctorB(&flag2)); |
// Because we haven't pumped messages, these should not have run yet. |
EXPECT_FALSE(flag1.get()); |
EXPECT_FALSE(flag2.get()); |
@@ -569,7 +570,8 @@ class GuardedAsyncInvokeTest : public testing::Test { |
} |
void AsyncInvokeIntCallback(GuardedAsyncInvoker* invoker, Thread* thread) { |
expected_thread_ = thread; |
- invoker->AsyncInvoke(FunctorC(), &GuardedAsyncInvokeTest::IntCallback, |
+ invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(), |
+ &GuardedAsyncInvokeTest::IntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this)); |
invoke_started_.Set(); |
} |
@@ -604,12 +606,12 @@ TEST_F(GuardedAsyncInvokeTest, KillThreadFireAndForget) { |
thread->Start(); |
std::unique_ptr<GuardedAsyncInvoker> invoker; |
// Create the invoker on |thread|. |
- thread->Invoke<void>(CreateInvoker(&invoker)); |
+ thread->Invoke<void>(RTC_FROM_HERE, CreateInvoker(&invoker)); |
// Kill |thread|. |
thread = nullptr; |
// Try calling functor. |
AtomicBool called; |
- EXPECT_FALSE(invoker->AsyncInvoke<void>(FunctorB(&called))); |
+ EXPECT_FALSE(invoker->AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&called))); |
// With thread gone, nothing should happen. |
WAIT(called.get(), kWaitTimeout); |
EXPECT_FALSE(called.get()); |
@@ -622,12 +624,13 @@ TEST_F(GuardedAsyncInvokeTest, KillThreadWithCallback) { |
thread->Start(); |
std::unique_ptr<GuardedAsyncInvoker> invoker; |
// Create the invoker on |thread|. |
- thread->Invoke<void>(CreateInvoker(&invoker)); |
+ thread->Invoke<void>(RTC_FROM_HERE, CreateInvoker(&invoker)); |
// Kill |thread|. |
thread = nullptr; |
// Try calling functor. |
EXPECT_FALSE( |
- invoker->AsyncInvoke(FunctorC(), &GuardedAsyncInvokeTest::IntCallback, |
+ invoker->AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(), |
+ &GuardedAsyncInvokeTest::IntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this))); |
// With thread gone, callback should be cancelled. |
Thread::Current()->ProcessMessages(kWaitTimeout); |
@@ -640,7 +643,7 @@ TEST_F(GuardedAsyncInvokeTest, FireAndForget) { |
GuardedAsyncInvoker invoker; |
// Try calling functor. |
AtomicBool called; |
- EXPECT_TRUE(invoker.AsyncInvoke<void>(FunctorB(&called))); |
+ EXPECT_TRUE(invoker.AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&called))); |
EXPECT_TRUE_WAIT(called.get(), kWaitTimeout); |
} |
@@ -648,7 +651,7 @@ TEST_F(GuardedAsyncInvokeTest, WithCallback) { |
GuardedAsyncInvoker invoker; |
// Try calling functor. |
SetExpectedThreadForIntCallback(Thread::Current()); |
- EXPECT_TRUE(invoker.AsyncInvoke(FunctorA(), |
+ EXPECT_TRUE(invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorA(), |
&GuardedAsyncInvokeTest::IntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this))); |
EXPECT_EQ_WAIT(42, int_value_, kWaitTimeout); |
@@ -659,7 +662,8 @@ TEST_F(GuardedAsyncInvokeTest, CancelInvoker) { |
{ |
GuardedAsyncInvoker invoker; |
EXPECT_TRUE( |
- invoker.AsyncInvoke(FunctorC(), &GuardedAsyncInvokeTest::IntCallback, |
+ invoker.AsyncInvoke(RTC_FROM_HERE, RTC_FROM_HERE, FunctorC(), |
+ &GuardedAsyncInvokeTest::IntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this))); |
} |
// With invoker gone, callback should be cancelled. |
@@ -674,7 +678,8 @@ TEST_F(GuardedAsyncInvokeTest, CancelCallingThread) { |
Thread thread; |
thread.Start(); |
// Try calling functor. |
- thread.Invoke<void>(Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback, |
+ thread.Invoke<void>(RTC_FROM_HERE, |
+ Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this), |
&invoker, Thread::Current())); |
// Wait for the call to begin. |
@@ -691,7 +696,8 @@ TEST_F(GuardedAsyncInvokeTest, KillInvokerBeforeExecute) { |
{ |
GuardedAsyncInvoker invoker; |
// Try calling functor. |
- thread.Invoke<void>(Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback, |
+ thread.Invoke<void>(RTC_FROM_HERE, |
+ Bind(&GuardedAsyncInvokeTest::AsyncInvokeIntCallback, |
static_cast<GuardedAsyncInvokeTest*>(this), |
&invoker, Thread::Current())); |
// Wait for the call to begin. |
@@ -707,8 +713,8 @@ TEST_F(GuardedAsyncInvokeTest, Flush) { |
AtomicBool flag1; |
AtomicBool flag2; |
// Queue two async calls to the current thread. |
- EXPECT_TRUE(invoker.AsyncInvoke<void>(FunctorB(&flag1))); |
- EXPECT_TRUE(invoker.AsyncInvoke<void>(FunctorB(&flag2))); |
+ EXPECT_TRUE(invoker.AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&flag1))); |
+ EXPECT_TRUE(invoker.AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&flag2))); |
// Because we haven't pumped messages, these should not have run yet. |
EXPECT_FALSE(flag1.get()); |
EXPECT_FALSE(flag2.get()); |
@@ -723,8 +729,8 @@ TEST_F(GuardedAsyncInvokeTest, FlushWithIds) { |
AtomicBool flag1; |
AtomicBool flag2; |
// Queue two async calls to the current thread, one with a message id. |
- EXPECT_TRUE(invoker.AsyncInvoke<void>(FunctorB(&flag1), 5)); |
- EXPECT_TRUE(invoker.AsyncInvoke<void>(FunctorB(&flag2))); |
+ EXPECT_TRUE(invoker.AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&flag1), 5)); |
+ EXPECT_TRUE(invoker.AsyncInvoke<void>(RTC_FROM_HERE, FunctorB(&flag2))); |
// Because we haven't pumped messages, these should not have run yet. |
EXPECT_FALSE(flag1.get()); |
EXPECT_FALSE(flag2.get()); |
@@ -759,7 +765,7 @@ class ComThreadTest : public testing::Test, public MessageHandler { |
TEST_F(ComThreadTest, ComInited) { |
Thread* thread = new ComThread(); |
EXPECT_TRUE(thread->Start()); |
- thread->Post(this, 0); |
+ thread->Post(RTC_FROM_HERE, this, 0); |
EXPECT_TRUE_WAIT(done_, 1000); |
delete thread; |
} |