diff --git a/adapter/uhdf2/ipc/include/hdf_remote_adapter.h b/adapter/uhdf2/ipc/include/hdf_remote_adapter.h index 142ea9cfb1e6d4c86f67a8a37f493a137431bc97..9dbc817fd0a40c8decf1b32c3cd6553f99e5317f 100644 --- a/adapter/uhdf2/ipc/include/hdf_remote_adapter.h +++ b/adapter/uhdf2/ipc/include/hdf_remote_adapter.h @@ -51,7 +51,7 @@ private: struct HdfRemoteServiceHolder { HdfRemoteServiceHolder(); - ~HdfRemoteServiceHolder() = default; + ~HdfRemoteServiceHolder(); bool SetInterfaceDescriptor(const char *desc); struct HdfRemoteService service_; diff --git a/adapter/uhdf2/ipc/src/hdf_remote_adapter.cpp b/adapter/uhdf2/ipc/src/hdf_remote_adapter.cpp index d74194650edbc11461217ff3babda36bee9748d0..d30c2fc34d8a418bedeb2a272c68e5d650a6cd83 100644 --- a/adapter/uhdf2/ipc/src/hdf_remote_adapter.cpp +++ b/adapter/uhdf2/ipc/src/hdf_remote_adapter.cpp @@ -40,6 +40,7 @@ HdfRemoteServiceStub::HdfRemoteServiceStub(struct HdfRemoteService *service) int HdfRemoteServiceStub::OnRemoteRequest(uint32_t code, OHOS::MessageParcel &data, OHOS::MessageParcel &reply, OHOS::MessageOption &option) { + HDF_LOGI("OnRemoteRequest enter"); (void)option; if (service_ == nullptr) { HDF_LOGE("service_ is nullptr"); @@ -64,6 +65,12 @@ int HdfRemoteServiceStub::OnRemoteRequest(uint32_t code, HdfRemoteServiceStub::~HdfRemoteServiceStub() { + HDF_LOGI("~HdfRemoteServiceStub"); +} + +HdfRemoteServiceHolder::~HdfRemoteServiceHolder() +{ + HDF_LOGI("~HdfRemoteServiceHolder"); } int32_t HdfRemoteServiceStub::Dump(int32_t fd, const std::vector &args) @@ -223,6 +230,9 @@ void HdfRemoteAdapterRecycle(struct HdfRemoteService *object) { struct HdfRemoteServiceHolder *holder = reinterpret_cast(object); if (holder != nullptr) { + holder->service_.target = nullptr; + holder->service_.dispatcher = nullptr; + holder->descriptor_ = NULL; holder->remote_ = nullptr; delete holder; }