diff --git a/CMakeLists.txt b/CMakeLists.txt index 89aeb987d3d..f7241020815 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -443,6 +443,7 @@ else() try_append_cxx_flags("-Wvla" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wshadow-field" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wthread-safety" TARGET warn_interface SKIP_LINK) + try_append_cxx_flags("-Wthread-safety-pointer" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wloop-analysis" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wredundant-decls" TARGET warn_interface SKIP_LINK) try_append_cxx_flags("-Wunused-member-function" TARGET warn_interface SKIP_LINK) diff --git a/src/leveldb/util/cache.cc b/src/leveldb/util/cache.cc index 12de306cad2..2d4433fcc68 100644 --- a/src/leveldb/util/cache.cc +++ b/src/leveldb/util/cache.cc @@ -171,8 +171,8 @@ class LRUCache { private: void LRU_Remove(LRUHandle* e); void LRU_Append(LRUHandle* list, LRUHandle* e); - void Ref(LRUHandle* e); - void Unref(LRUHandle* e); + void Ref(LRUHandle* e) EXCLUSIVE_LOCKS_REQUIRED(mutex_); + void Unref(LRUHandle* e) EXCLUSIVE_LOCKS_REQUIRED(mutex_); bool FinishErase(LRUHandle* e) EXCLUSIVE_LOCKS_REQUIRED(mutex_); // Initialized before use.