| Index: runtime/vm/os_thread_android.cc
|
| diff --git a/runtime/vm/os_thread_android.cc b/runtime/vm/os_thread_android.cc
|
| index 6f7ff3435a0ed6c7fc817c05811e7d5b35bf64d1..65ec1737af568920091c9b21582c2ad7715a9ba7 100644
|
| --- a/runtime/vm/os_thread_android.cc
|
| +++ b/runtime/vm/os_thread_android.cc
|
| @@ -211,7 +211,7 @@ void OSThread::GetThreadCpuUsage(ThreadId thread_id, int64_t* cpu_usage) {
|
| }
|
|
|
|
|
| -Mutex::Mutex() {
|
| +Mutex::Mutex(bool recursive) {
|
| pthread_mutexattr_t attr;
|
| int result = pthread_mutexattr_init(&attr);
|
| VALIDATE_PTHREAD_RESULT(result);
|
| @@ -221,6 +221,11 @@ Mutex::Mutex() {
|
| VALIDATE_PTHREAD_RESULT(result);
|
| #endif // defined(DEBUG)
|
|
|
| + if (recursive) {
|
| + result = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
|
| + VALIDATE_PTHREAD_RESULT(result);
|
| + }
|
| +
|
| result = pthread_mutex_init(data_.mutex(), &attr);
|
| // Verify that creating a pthread_mutex succeeded.
|
| VALIDATE_PTHREAD_RESULT(result);
|
|
|