add IPCRecursiveMutexLocker + tests
Change-Id: Ie7fca7032266935278e646534bea1180136fd3d0
diff --git a/aos/linux_code/ipc_lib/mutex.cc b/aos/linux_code/ipc_lib/mutex.cc
index 9e270c9..796b841 100644
--- a/aos/linux_code/ipc_lib/mutex.cc
+++ b/aos/linux_code/ipc_lib/mutex.cc
@@ -15,7 +15,7 @@
}
Mutex::~Mutex() {
- if (__builtin_expect(mutex_islocked(&impl_), 0)) {
+ if (__builtin_expect(mutex_islocked(&impl_), false)) {
LOG(FATAL, "destroying locked mutex %p (aka %p)\n",
this, &impl_);
}
@@ -51,4 +51,8 @@
}
}
+bool Mutex::OwnedBySelf() const {
+ return mutex_islocked(&impl_);
+}
+
} // namespace aos