Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(178)

Unified Diff: runtime/vm/os_thread_android.cc

Issue 1515553003: VM: Fix deadlock in time line recording. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698