diff options
author | Wonsik Kim <wonsik@google.com> | 2014-03-20 15:42:03 +0900 |
---|---|---|
committer | Wonsik Kim <wonsik@google.com> | 2014-03-24 11:40:36 +0900 |
commit | c4cc584bbd031b94c37912d8c5e340b24ff31b57 (patch) | |
tree | a70d9c987788b1503ecfe2fd5936d07d681a59cc /libutils/NativeHandle.cpp | |
parent | a2910877a6781f57a7ef3eea7343fa46bc3e1bd0 (diff) |
Clarify ownership for NativeHandle::mHandle
Change-Id: I0835278df1aa78f10d5493d7ef2c9e4a15c0fee9
Diffstat (limited to 'libutils/NativeHandle.cpp')
-rw-r--r-- | libutils/NativeHandle.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/libutils/NativeHandle.cpp b/libutils/NativeHandle.cpp index 6632851af..e4daca7ff 100644 --- a/libutils/NativeHandle.cpp +++ b/libutils/NativeHandle.cpp @@ -19,17 +19,20 @@ namespace android { -sp<NativeHandle> NativeHandle::create(native_handle_t* handle) { - return handle ? new NativeHandle(handle) : NULL; +sp<NativeHandle> NativeHandle::create( + native_handle_t* handle, bool ownsHandle) { + return handle ? new NativeHandle(handle, ownsHandle) : NULL; } -NativeHandle::NativeHandle(native_handle_t* handle) -: mHandle(handle) +NativeHandle::NativeHandle(native_handle_t* handle, bool ownsHandle) +: mHandle(handle), mOwnsHandle(ownsHandle) {} NativeHandle::~NativeHandle() { - native_handle_close(mHandle); - native_handle_delete(mHandle); + if (mOwnsHandle) { + native_handle_close(mHandle); + native_handle_delete(mHandle); + } } } // namespace android |