| Index: runtime/vm/os_thread_macos.cc
|
| diff --git a/runtime/vm/os_thread_macos.cc b/runtime/vm/os_thread_macos.cc
|
| index 2fa58d85456e73334b5501e2b501079ca4070e90..478c1e090656fd439d153c5ae1d3874187bc73ff 100644
|
| --- a/runtime/vm/os_thread_macos.cc
|
| +++ b/runtime/vm/os_thread_macos.cc
|
| @@ -217,7 +217,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);
|
| @@ -227,6 +227,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);
|
|
|