diff options
-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); } }; /** |