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);
|
ASSERT(worker_thread_ != NULL);
|
||||||
if (worker_thread_) {
|
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_)) {
|
if (media_engine_->Init(worker_thread_)) {
|
||||||
initialized_ = true;
|
initialized_ = true;
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ class Thread : public MessageQueue {
|
|||||||
bool RunningForTest() { return running(); }
|
bool RunningForTest() { return running(); }
|
||||||
|
|
||||||
// Sets the per-thread allow-blocking-calls flag and returns the previous
|
// Sets the per-thread allow-blocking-calls flag and returns the previous
|
||||||
// value.
|
// value. Must be called on this thread.
|
||||||
bool SetAllowBlockingCalls(bool allow);
|
bool SetAllowBlockingCalls(bool allow);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user