diff --git a/native/jni/systemproperties/include/private/ErrnoRestorer.h b/native/jni/systemproperties/include/private/ErrnoRestorer.h index f4673936a..52e115a89 100644 --- a/native/jni/systemproperties/include/private/ErrnoRestorer.h +++ b/native/jni/systemproperties/include/private/ErrnoRestorer.h @@ -14,8 +14,7 @@ * limitations under the License. */ -#ifndef ERRNO_RESTORER_H -#define ERRNO_RESTORER_H +#pragma once #include @@ -37,7 +36,5 @@ class ErrnoRestorer { private: int saved_errno_; - DISALLOW_COPY_AND_ASSIGN(ErrnoRestorer); + BIONIC_DISALLOW_COPY_AND_ASSIGN(ErrnoRestorer); }; - -#endif // ERRNO_RESTORER_H diff --git a/native/jni/systemproperties/include/private/bionic_lock.h b/native/jni/systemproperties/include/private/bionic_lock.h index 54168d3ad..ec179d1b6 100644 --- a/native/jni/systemproperties/include/private/bionic_lock.h +++ b/native/jni/systemproperties/include/private/bionic_lock.h @@ -25,8 +25,8 @@ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -#ifndef _BIONIC_LOCK_H -#define _BIONIC_LOCK_H + +#pragma once #include #include "private/bionic_futex.h" @@ -70,25 +70,24 @@ class Lock { } void unlock() { + bool shared = process_shared; /* cache to local variable */ if (atomic_exchange_explicit(&state, Unlocked, memory_order_release) == LockedWithWaiter) { - __futex_wake_ex(&state, process_shared, 1); + __futex_wake_ex(&state, shared, 1); } } }; class LockGuard { public: - LockGuard(Lock& lock) : lock_(lock) { + explicit LockGuard(Lock& lock) : lock_(lock) { lock_.lock(); } ~LockGuard() { lock_.unlock(); } - DISALLOW_COPY_AND_ASSIGN(LockGuard); + BIONIC_DISALLOW_COPY_AND_ASSIGN(LockGuard); private: Lock& lock_; }; - -#endif // _BIONIC_LOCK_H diff --git a/native/jni/systemproperties/include/private/bionic_macros.h b/native/jni/systemproperties/include/private/bionic_macros.h index 0a36cdb18..4800e3af9 100644 --- a/native/jni/systemproperties/include/private/bionic_macros.h +++ b/native/jni/systemproperties/include/private/bionic_macros.h @@ -14,31 +14,17 @@ * limitations under the License. */ -#ifndef _BIONIC_MACROS_H_ -#define _BIONIC_MACROS_H_ +#pragma once #include -// Frameworks OpenGL code currently leaks this header and allows -// collisions with other declarations, e.g., from libnativehelper. -// TODO: Remove once cleaned up. b/18334516 -#if !defined(DISALLOW_COPY_AND_ASSIGN) -// DISALLOW_COPY_AND_ASSIGN disallows the copy and operator= functions. -// It goes in the private: declarations in a class. -#define DISALLOW_COPY_AND_ASSIGN(TypeName) \ - TypeName(const TypeName&) = delete; \ +#define BIONIC_DISALLOW_COPY_AND_ASSIGN(TypeName) \ + TypeName(const TypeName&) = delete; \ void operator=(const TypeName&) = delete -#endif // !defined(DISALLOW_COPY_AND_ASSIGN) -// A macro to disallow all the implicit constructors, namely the -// default constructor, copy constructor and operator= functions. -// -// This should be used in the private: declarations for a class -// that wants to prevent anyone from instantiating it. This is -// especially useful for classes containing only static methods. -#define DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ - TypeName() = delete; \ - DISALLOW_COPY_AND_ASSIGN(TypeName) +#define BIONIC_DISALLOW_IMPLICIT_CONSTRUCTORS(TypeName) \ + TypeName() = delete; \ + BIONIC_DISALLOW_COPY_AND_ASSIGN(TypeName) #define BIONIC_ROUND_UP_POWER_OF_2(value) \ ((sizeof(value) == 8) \ @@ -101,5 +87,3 @@ char (&ArraySizeHelper(T (&array)[N]))[N]; // NOLINT(readability/casting) #else #define __BIONIC_FALLTHROUGH #endif - -#endif // _BIONIC_MACROS_H_ diff --git a/native/jni/systemproperties/include/system_properties/context_node.h b/native/jni/systemproperties/include/system_properties/context_node.h index 35d0e92c2..20f40133f 100644 --- a/native/jni/systemproperties/include/system_properties/context_node.h +++ b/native/jni/systemproperties/include/system_properties/context_node.h @@ -42,7 +42,7 @@ class ContextNode { Unmap(); } - DISALLOW_COPY_AND_ASSIGN(ContextNode); + BIONIC_DISALLOW_COPY_AND_ASSIGN(ContextNode); bool Open(bool access_rw, bool* fsetxattr_failed); bool CheckAccessAndOpen(); diff --git a/native/jni/systemproperties/include/system_properties/prop_area.h b/native/jni/systemproperties/include/system_properties/prop_area.h index 9c78f1b3e..9dcd0081b 100644 --- a/native/jni/systemproperties/include/system_properties/prop_area.h +++ b/native/jni/systemproperties/include/system_properties/prop_area.h @@ -86,7 +86,7 @@ struct prop_bt { } private: - DISALLOW_COPY_AND_ASSIGN(prop_bt); + BIONIC_DISALLOW_COPY_AND_ASSIGN(prop_bt); }; class prop_area { @@ -138,10 +138,10 @@ class prop_area { prop_bt* root_node(); - prop_bt* find_prop_bt(prop_bt* const bt, const char* name, uint32_t namelen, bool alloc_if_needed); - /* resetprop: Traverse through the trie and find the node */ - prop_bt *find_prop_bt(prop_bt *const trie, const char *name, bool alloc_if_needed); + prop_bt *find_prop_bt(prop_bt *const bt, const char* name, bool alloc_if_needed); + + prop_bt* find_prop_bt(prop_bt* const bt, const char* name, uint32_t namelen, bool alloc_if_needed); const prop_info* find_property(prop_bt* const trie, const char* name, uint32_t namelen, const char* value, uint32_t valuelen, bool alloc_if_needed); @@ -163,5 +163,5 @@ class prop_area { uint32_t reserved_[28]; char data_[0]; - DISALLOW_COPY_AND_ASSIGN(prop_area); + BIONIC_DISALLOW_COPY_AND_ASSIGN(prop_area); }; diff --git a/native/jni/systemproperties/include/system_properties/prop_info.h b/native/jni/systemproperties/include/system_properties/prop_info.h index 6e03e7d12..326a7b82d 100644 --- a/native/jni/systemproperties/include/system_properties/prop_info.h +++ b/native/jni/systemproperties/include/system_properties/prop_info.h @@ -84,7 +84,7 @@ struct prop_info { prop_info(const char* name, uint32_t namelen, uint32_t long_offset); private: - DISALLOW_IMPLICIT_CONSTRUCTORS(prop_info); + BIONIC_DISALLOW_IMPLICIT_CONSTRUCTORS(prop_info); }; static_assert(sizeof(prop_info) == 96, "sizeof struct prop_info must be 96 bytes"); diff --git a/native/jni/systemproperties/include/system_properties/system_properties.h b/native/jni/systemproperties/include/system_properties/system_properties.h index 9b4c48668..6ada37763 100644 --- a/native/jni/systemproperties/include/system_properties/system_properties.h +++ b/native/jni/systemproperties/include/system_properties/system_properties.h @@ -52,7 +52,7 @@ class SystemProperties { explicit SystemProperties(bool initialized) : initialized_(initialized) { } - DISALLOW_COPY_AND_ASSIGN(SystemProperties); + BIONIC_DISALLOW_COPY_AND_ASSIGN(SystemProperties); bool Init(const char* filename); bool AreaInit(const char* filename, bool* fsetxattr_failed); diff --git a/native/jni/systemproperties/prop_area.cpp b/native/jni/systemproperties/prop_area.cpp index b83493569..92098b1bf 100644 --- a/native/jni/systemproperties/prop_area.cpp +++ b/native/jni/systemproperties/prop_area.cpp @@ -320,7 +320,6 @@ prop_bt *prop_area::find_prop_bt(prop_bt *const trie, const char *name, bool all const prop_info* prop_area::find_property(prop_bt* const trie, const char* name, uint32_t namelen, const char* value, uint32_t valuelen, bool alloc_if_needed) { - const char* remaining_name = name; prop_bt* current = find_prop_bt(trie, name, alloc_if_needed); if (!current) return nullptr;