| Index: webrtc/base/task_queue_libevent.cc
|
| diff --git a/webrtc/base/task_queue_libevent.cc b/webrtc/base/task_queue_libevent.cc
|
| index c80258811fca2ca88e1c0cfbd80ecaba1866784b..f9c622d73ce0a7d067315f0106c341c3ca34890b 100644
|
| --- a/webrtc/base/task_queue_libevent.cc
|
| +++ b/webrtc/base/task_queue_libevent.cc
|
| @@ -61,6 +61,19 @@ void EventAssign(struct event* ev,
|
| RTC_CHECK_EQ(0, event_base_set(base, ev));
|
| #endif
|
| }
|
| +
|
| +ThreadPriority TaskQueuePriorityToThreadPriority(TaskQueue::Priority priority) {
|
| + switch (priority) {
|
| + case TaskQueue::HIGH:
|
| + return kRealtimePriority;
|
| + case TaskQueue::LOW:
|
| + return kLowPriority;
|
| + case TaskQueue::NORMAL:
|
| + default:
|
| + break;
|
| + }
|
| + return kNormalPriority;
|
| +}
|
| } // namespace
|
|
|
| struct TaskQueue::QueueContext {
|
| @@ -133,10 +146,13 @@ class TaskQueue::SetTimerTask : public QueuedTask {
|
| const uint32_t posted_;
|
| };
|
|
|
| -TaskQueue::TaskQueue(const char* queue_name)
|
| +TaskQueue::TaskQueue(const char* queue_name, Priority priority /*= NORMAL*/)
|
| : event_base_(event_base_new()),
|
| wakeup_event_(new event()),
|
| - thread_(&TaskQueue::ThreadMain, this, queue_name) {
|
| + thread_(&TaskQueue::ThreadMain,
|
| + this,
|
| + queue_name,
|
| + TaskQueuePriorityToThreadPriority(priority)) {
|
| RTC_DCHECK(queue_name);
|
| int fds[2];
|
| RTC_CHECK(pipe(fds) == 0);
|
|
|