Loading libs/binder/IPCThreadState.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -611,6 +611,12 @@ void IPCThreadState::processPostWriteDerefs() mPostWriteStrongDerefs.clear(); } void IPCThreadState::createTransactionReference(RefBase* ref) { ref->incStrong(mProcess.get()); mPostWriteStrongDerefs.push(ref); } void IPCThreadState::joinThreadPool(bool isMain) { LOG_THREADPOOL("**** THREAD %p (PID %d) IS JOINING THE THREAD POOL\n", (void*)pthread_self(), getpid()); Loading libs/binder/include/binder/IPCThreadState.h +6 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,12 @@ public: // This constant needs to be kept in sync with Binder.UNSET_WORKSOURCE from the Java // side. static const int32_t kUnsetWorkSource = -1; // Create a temp reference until commands in queue flushed to driver // Internal only. // @internal void createTransactionReference(RefBase* ref); private: IPCThreadState(); ~IPCThreadState(); Loading libs/binder/include/binder/ParcelRef.h 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <binder/Parcel.h> #include <utils/RefBase.h> // --------------------------------------------------------------------------- namespace android { /** * internal use only * @internal */ class ParcelRef : public Parcel, public RefBase { public: static sp<ParcelRef> create() { return new ParcelRef(); } private: ParcelRef() = default; }; } // namespace android // --------------------------------------------------------------------------- No newline at end of file Loading
libs/binder/IPCThreadState.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -611,6 +611,12 @@ void IPCThreadState::processPostWriteDerefs() mPostWriteStrongDerefs.clear(); } void IPCThreadState::createTransactionReference(RefBase* ref) { ref->incStrong(mProcess.get()); mPostWriteStrongDerefs.push(ref); } void IPCThreadState::joinThreadPool(bool isMain) { LOG_THREADPOOL("**** THREAD %p (PID %d) IS JOINING THE THREAD POOL\n", (void*)pthread_self(), getpid()); Loading
libs/binder/include/binder/IPCThreadState.h +6 −0 Original line number Diff line number Diff line Loading @@ -162,6 +162,12 @@ public: // This constant needs to be kept in sync with Binder.UNSET_WORKSOURCE from the Java // side. static const int32_t kUnsetWorkSource = -1; // Create a temp reference until commands in queue flushed to driver // Internal only. // @internal void createTransactionReference(RefBase* ref); private: IPCThreadState(); ~IPCThreadState(); Loading
libs/binder/include/binder/ParcelRef.h 0 → 100644 +43 −0 Original line number Diff line number Diff line /* * Copyright (C) 2020 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <binder/Parcel.h> #include <utils/RefBase.h> // --------------------------------------------------------------------------- namespace android { /** * internal use only * @internal */ class ParcelRef : public Parcel, public RefBase { public: static sp<ParcelRef> create() { return new ParcelRef(); } private: ParcelRef() = default; }; } // namespace android // --------------------------------------------------------------------------- No newline at end of file