Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1507)

Side by Side Diff: webrtc/test/channel_transport/udp_socket_manager_posix.cc

Issue 1476453002: Clean up PlatformThread. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: IsRunning DCHECK Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 kTraceTransport, 177 kTraceTransport,
178 _id, 178 _id,
179 "UdpSocketManagerPosix(%d)::RemoveSocket() failed to remove socket\ 179 "UdpSocketManagerPosix(%d)::RemoveSocket() failed to remove socket\
180 from manager", 180 from manager",
181 _numberOfSocketMgr); 181 _numberOfSocketMgr);
182 } 182 }
183 _critSect->Leave(); 183 _critSect->Leave();
184 return retVal; 184 return retVal;
185 } 185 }
186 186
187
188 UdpSocketManagerPosixImpl::UdpSocketManagerPosixImpl() 187 UdpSocketManagerPosixImpl::UdpSocketManagerPosixImpl()
189 { 188 : _thread(UdpSocketManagerPosixImpl::Run,
190 _critSectList = CriticalSectionWrapper::CreateCriticalSection(); 189 this,
191 _thread = PlatformThread::CreateThread(UdpSocketManagerPosixImpl::Run, this, 190 "UdpSocketManagerPosixImplThread"),
192 "UdpSocketManagerPosixImplThread"); 191 _critSectList(CriticalSectionWrapper::CreateCriticalSection()) {
193 FD_ZERO(&_readFds); 192 FD_ZERO(&_readFds);
194 WEBRTC_TRACE(kTraceMemory, kTraceTransport, -1, 193 WEBRTC_TRACE(kTraceMemory, kTraceTransport, -1,
195 "UdpSocketManagerPosix created"); 194 "UdpSocketManagerPosix created");
196 } 195 }
197 196
198 UdpSocketManagerPosixImpl::~UdpSocketManagerPosixImpl() 197 UdpSocketManagerPosixImpl::~UdpSocketManagerPosixImpl()
199 { 198 {
200 if (_critSectList != NULL) 199 if (_critSectList != NULL)
201 { 200 {
202 UpdateSocketMap(); 201 UpdateSocketMap();
(...skipping 10 matching lines...) Expand all
213 212
214 delete _critSectList; 213 delete _critSectList;
215 } 214 }
216 215
217 WEBRTC_TRACE(kTraceMemory, kTraceTransport, -1, 216 WEBRTC_TRACE(kTraceMemory, kTraceTransport, -1,
218 "UdpSocketManagerPosix deleted"); 217 "UdpSocketManagerPosix deleted");
219 } 218 }
220 219
221 bool UdpSocketManagerPosixImpl::Start() 220 bool UdpSocketManagerPosixImpl::Start()
222 { 221 {
223 if (!_thread)
224 {
225 return false;
226 }
227
228 WEBRTC_TRACE(kTraceStateInfo, kTraceTransport, -1, 222 WEBRTC_TRACE(kTraceStateInfo, kTraceTransport, -1,
229 "Start UdpSocketManagerPosix"); 223 "Start UdpSocketManagerPosix");
230 if (!_thread->Start()) 224 _thread.Start();
231 return false; 225 _thread.SetPriority(rtc::kRealtimePriority);
232 _thread->SetPriority(kRealtimePriority);
233 return true; 226 return true;
234 } 227 }
235 228
236 bool UdpSocketManagerPosixImpl::Stop() 229 bool UdpSocketManagerPosixImpl::Stop()
237 { 230 {
238 if (!_thread)
239 {
240 return true;
241 }
242
243 WEBRTC_TRACE(kTraceStateInfo, kTraceTransport, -1, 231 WEBRTC_TRACE(kTraceStateInfo, kTraceTransport, -1,
244 "Stop UdpSocketManagerPosix"); 232 "Stop UdpSocketManagerPosix");
245 return _thread->Stop(); 233 _thread.Stop();
234 return true;
246 } 235 }
247 236
248 bool UdpSocketManagerPosixImpl::Process() 237 bool UdpSocketManagerPosixImpl::Process()
249 { 238 {
250 bool doSelect = false; 239 bool doSelect = false;
251 // Timeout = 1 second. 240 // Timeout = 1 second.
252 struct timeval timeout; 241 struct timeval timeout;
253 timeout.tv_sec = 0; 242 timeout.tv_sec = 0;
254 timeout.tv_usec = 10000; 243 timeout.tv_usec = 10000;
255 244
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
394 if(s) { 383 if(s) {
395 _socketMap[s->GetFd()] = s; 384 _socketMap[s->GetFd()] = s;
396 } 385 }
397 } 386 }
398 _addList.clear(); 387 _addList.clear();
399 _critSectList->Leave(); 388 _critSectList->Leave();
400 } 389 }
401 390
402 } // namespace test 391 } // namespace test
403 } // namespace webrtc 392 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/test/channel_transport/udp_socket_manager_posix.h ('k') | webrtc/test/direct_transport.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698