Files
platform-external-webrtc/webrtc/system_wrappers/source/thread_posix.h
tommi@webrtc.org b952a90038 Remove an unused Shutdown method from the ThreadWrapper interface.
The method was flagged by Chrome engineers as dubious since it uses
TerminateThread.  As it turns out, we don't use this method anywhere,
so we can simply remove it! :)

BUG=1066
Review URL: https://webrtc-codereview.appspot.com/938012

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3065 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-11-08 13:40:59 +00:00

73 lines
2.1 KiB
C++

/*
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_POSIX_H_
#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_POSIX_H_
#include "thread_wrapper.h"
#include <pthread.h>
namespace webrtc {
class CriticalSectionWrapper;
class EventWrapper;
int ConvertToSystemPriority(ThreadPriority priority, int minPrio, int maxPrio);
class ThreadPosix : public ThreadWrapper
{
public:
static ThreadWrapper* Create(ThreadRunFunction func, ThreadObj obj,
ThreadPriority prio, const char* threadName);
ThreadPosix(ThreadRunFunction func, ThreadObj obj, ThreadPriority prio,
const char* threadName);
~ThreadPosix();
// From ThreadWrapper
virtual void SetNotAlive();
virtual bool Start(unsigned int& id);
// Not implemented on Mac
virtual bool SetAffinity(const int* processorNumbers,
unsigned int amountOfProcessors);
virtual bool Stop();
void Run();
private:
int Construct();
private:
// processing function
ThreadRunFunction _runFunction;
ThreadObj _obj;
// internal state
CriticalSectionWrapper* _crit_state; // Protects _alive and _dead
bool _alive;
bool _dead;
ThreadPriority _prio;
EventWrapper* _event;
// zero-terminated thread name string
char _name[kThreadMaxNameLength];
bool _setThreadName;
// handle to thread
#if (defined(WEBRTC_LINUX) || defined(WEBRTC_ANDROID))
pid_t _pid;
#endif
pthread_attr_t _attr;
pthread_t _thread;
};
} // namespace webrtc
#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_THREAD_POSIX_H_