Reland disallowing blocking calls on the worker thread.
This fixed the issue that invoking the call when the thread is not started. BUG=3559 R=juberti@webrtc.org, thorcarpenter@google.com Review URL: https://webrtc-codereview.appspot.com/24769004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@7325 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
ea6c12e59f
commit
7dfb7fa189
@ -218,6 +218,12 @@ bool ChannelManager::Init() {
|
||||
|
||||
ASSERT(worker_thread_ != NULL);
|
||||
if (worker_thread_) {
|
||||
if (worker_thread_ != rtc::Thread::Current()) {
|
||||
// Do not allow invoking calls to other threads on the worker thread.
|
||||
worker_thread_->Invoke<bool>(rtc::Bind(
|
||||
&rtc::Thread::SetAllowBlockingCalls, worker_thread_, false));
|
||||
}
|
||||
|
||||
if (media_engine_->Init(worker_thread_)) {
|
||||
initialized_ = true;
|
||||
|
||||
|
@ -210,7 +210,7 @@ class Thread : public MessageQueue {
|
||||
bool RunningForTest() { return running(); }
|
||||
|
||||
// Sets the per-thread allow-blocking-calls flag and returns the previous
|
||||
// value.
|
||||
// value. Must be called on this thread.
|
||||
bool SetAllowBlockingCalls(bool allow);
|
||||
|
||||
protected:
|
||||
|
Loading…
Reference in New Issue
Block a user