Pass self to lock methods.
This avoids frequent recomputation of
Thread::Current/pthread_getspecific.
Also add a futex based reader/writer mutex that is disabled.
Change-Id: I118fdb99ef1d1c4bfda6446ba3a0d8b6ab31eaee
diff --git a/src/jni_internal.cc b/src/jni_internal.cc
index 77066c4..0f93461 100644
--- a/src/jni_internal.cc
+++ b/src/jni_internal.cc
@@ -527,7 +527,7 @@
} else {
while (jni_on_load_result_ == kPending) {
VLOG(jni) << "[" << *self << " waiting for \"" << path_ << "\" " << "JNI_OnLoad...]";
- jni_on_load_cond_.Wait(jni_on_load_lock_);
+ jni_on_load_cond_.Wait(self, jni_on_load_lock_);
}
okay = (jni_on_load_result_ == kOkay);