OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. | 2 * Copyright 2004 The WebRTC Project Authors. All rights reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 } | 106 } |
107 if (kStopping != state_) { | 107 if (kStopping != state_) { |
108 // Before signaling that the work is done, make sure that the worker | 108 // Before signaling that the work is done, make sure that the worker |
109 // thread actually is done. We got here because DoWork() finished and | 109 // thread actually is done. We got here because DoWork() finished and |
110 // Run() posted the ST_MSG_WORKER_DONE message. This means the worker | 110 // Run() posted the ST_MSG_WORKER_DONE message. This means the worker |
111 // thread is about to go away anyway, but sometimes it doesn't actually | 111 // thread is about to go away anyway, but sometimes it doesn't actually |
112 // finish before SignalWorkDone is processed, and for a reusable | 112 // finish before SignalWorkDone is processed, and for a reusable |
113 // SignalThread this makes an assert in thread.cc fire. | 113 // SignalThread this makes an assert in thread.cc fire. |
114 // | 114 // |
115 // Calling Stop() on the worker ensures that the OS thread that underlies | 115 // Calling Stop() on the worker ensures that the OS thread that underlies |
116 // the worker will finish, and will be set to NULL, enabling us to call | 116 // the worker will finish, and will be set to null, enabling us to call |
117 // Start() again. | 117 // Start() again. |
118 worker_.Stop(); | 118 worker_.Stop(); |
119 SignalWorkDone(this); | 119 SignalWorkDone(this); |
120 } | 120 } |
121 if (do_delete) { | 121 if (do_delete) { |
122 refcount_--; | 122 refcount_--; |
123 } | 123 } |
124 } | 124 } |
125 } | 125 } |
126 | 126 |
(...skipping 10 matching lines...) Expand all Loading... |
137 { | 137 { |
138 EnterExit ee(this); | 138 EnterExit ee(this); |
139 if (main_) { | 139 if (main_) { |
140 main_->Post(RTC_FROM_HERE, this, ST_MSG_WORKER_DONE); | 140 main_->Post(RTC_FROM_HERE, this, ST_MSG_WORKER_DONE); |
141 } | 141 } |
142 } | 142 } |
143 } | 143 } |
144 | 144 |
145 void SignalThread::OnMainThreadDestroyed() { | 145 void SignalThread::OnMainThreadDestroyed() { |
146 EnterExit ee(this); | 146 EnterExit ee(this); |
147 main_ = NULL; | 147 main_ = nullptr; |
148 } | 148 } |
149 | 149 |
150 bool SignalThread::Worker::IsProcessingMessages() { | 150 bool SignalThread::Worker::IsProcessingMessages() { |
151 return false; | 151 return false; |
152 } | 152 } |
153 | 153 |
154 } // namespace rtc | 154 } // namespace rtc |
OLD | NEW |