Chromium Code Reviews| Index: base/threading/platform_thread_posix.cc |
| diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc |
| index 444edc58a6268649115f2f1583bc7b56374d961d..21743d090ffe586d32424aa54caa02af71eb06a5 100644 |
| --- a/base/threading/platform_thread_posix.cc |
| +++ b/base/threading/platform_thread_posix.cc |
| @@ -30,6 +30,7 @@ |
| #if defined(OS_ANDROID) |
| #include "base/android/jni_android.h" |
| +#include "jni/ThreadUtils_jni.h" |
| #endif |
| // TODO(bbudge) Use time.h when NaCl toolchain supports _POSIX_TIMERS |
| @@ -274,13 +275,28 @@ void PlatformThread::Join(PlatformThreadHandle thread_handle) { |
| pthread_join(thread_handle, NULL); |
| } |
| -#if !defined(OS_MACOSX) |
| -// Mac OS X uses lower-level mach APIs. |
| - |
| +#if !defined(OS_MACOSX) && !defined(OS_ANDROID) |
| +// Mac OS X uses lower-level mach APIs and Android uses Java APIs. |
| // static |
| void PlatformThread::SetThreadPriority(PlatformThreadHandle, ThreadPriority) { |
| // TODO(crogers): Implement, see http://crbug.com/116172 |
| } |
| #endif |
| +#if defined(OS_ANDROID) |
| +bool RegisterThreadUtils(JNIEnv* env) { |
| + return RegisterNativesImpl(env); |
| +} |
| + |
| +void PlatformThread::SetThreadPriority(PlatformThreadHandle, |
| + ThreadPriority priority) { |
| + if (priority == kThreadPriority_RealtimeAudio) { |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + Java_ThreadUtils_setThreadPriorityAudio(env, PlatformThread::CurrentId()); |
| + } else { |
| + NOTREACHED() << "Unknown thread priority."; |
| + } |
| +} |
| +#endif // defined(OS_ANDROID) |
|
Mark Mentovai
2013/01/23 13:59:19
Nit: this needs another space between #endif and /
Wei James(wistoch)
2013/01/24 00:41:59
fixed. thanks
|
| + |
| } // namespace base |