diff options
author | 2020-02-16 17:05:48 +0000 | |
---|---|---|
committer | 2020-02-16 17:05:48 +0000 | |
commit | 1a4c7aee2622209968eaa43937e60f2cebfc29e6 (patch) | |
tree | f8a8c3162a464e73a99e9bafe737f1e6d0a726f1 | |
parent | 51c6a7c8a423ca48d4287c715cd2beffa1c061ad (diff) | |
parent | 10d9ddf2e3da3ba3a425fb8396aaaec728e5fbdb (diff) |
Merge "libbinder_ndk: private SharedRefBase construction"
-rw-r--r-- | libs/binder/ndk/include_ndk/android/binder_interface_utils.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/binder/ndk/include_ndk/android/binder_interface_utils.h b/libs/binder/ndk/include_ndk/android/binder_interface_utils.h index 7331ba20c4..e6b743ba3c 100644 --- a/libs/binder/ndk/include_ndk/android/binder_interface_utils.h +++ b/libs/binder/ndk/include_ndk/android/binder_interface_utils.h @@ -86,9 +86,15 @@ class SharedRefBase { return t->template ref<T>(); } + static void operator delete(void* p) { std::free(p); } + private: std::once_flag mFlagThis; std::weak_ptr<SharedRefBase> mThis; + + // Use 'SharedRefBase::make<T>(...)' to make. SharedRefBase has implicit + // ownership. Making this operator private to avoid double-ownership. + static void* operator new(size_t s) { return std::malloc(s); } }; /** |