Loading libs/binder/BpBinder.cpp +7 −7 Original line number Original line Diff line number Diff line Loading @@ -139,10 +139,10 @@ BpBinder* BpBinder::create(int32_t handle) { BpBinder::BpBinder(int32_t handle, int32_t trackedUid) BpBinder::BpBinder(int32_t handle, int32_t trackedUid) : mHandle(handle) : mHandle(handle) , mStability(0) , mStability(0) , mTrackedUid(trackedUid) , mAlive(1) , mAlive(true) , mObitsSent(0) , mObitsSent(false) , mObituaries(nullptr) , mObituaries(nullptr) , mTrackedUid(trackedUid) { { ALOGV("Creating BpBinder %p handle %d\n", this, mHandle); ALOGV("Creating BpBinder %p handle %d\n", this, mHandle); Loading Loading @@ -185,7 +185,7 @@ const String16& BpBinder::getInterfaceDescriptor() const bool BpBinder::isBinderAlive() const bool BpBinder::isBinderAlive() const { { return mAlive; return mAlive != 0; } } status_t BpBinder::pingBinder() status_t BpBinder::pingBinder() Loading Loading @@ -236,7 +236,7 @@ status_t BpBinder::transact( status_t status = IPCThreadState::self()->transact( status_t status = IPCThreadState::self()->transact( mHandle, code, data, reply, flags); mHandle, code, data, reply, flags); if (status == DEAD_OBJECT) mAlive = false; if (status == DEAD_OBJECT) mAlive = 0; return status; return status; } } Loading Loading @@ -320,7 +320,7 @@ void BpBinder::sendObituary() ALOGV("Sending obituary for proxy %p handle %d, mObitsSent=%s\n", ALOGV("Sending obituary for proxy %p handle %d, mObitsSent=%s\n", this, mHandle, mObitsSent ? "true" : "false"); this, mHandle, mObitsSent ? "true" : "false"); mAlive = false; mAlive = 0; if (mObitsSent) return; if (mObitsSent) return; mLock.lock(); mLock.lock(); Loading @@ -332,7 +332,7 @@ void BpBinder::sendObituary() self->flushCommands(); self->flushCommands(); mObituaries = nullptr; mObituaries = nullptr; } } mObitsSent = true; mObitsSent = 1; mLock.unlock(); mLock.unlock(); ALOGV("Reporting death of proxy %p for %zu recipients\n", ALOGV("Reporting death of proxy %p for %zu recipients\n", Loading libs/binder/include/binder/BpBinder.h +4 −3 Original line number Original line Diff line number Diff line Loading @@ -133,12 +133,13 @@ private: bool isDescriptorCached() const; bool isDescriptorCached() const; mutable Mutex mLock; mutable Mutex mLock; int32_t mTrackedUid; volatile int32_t mAlive; volatile bool mAlive; volatile int32_t mObitsSent; volatile bool mObitsSent; Vector<Obituary>* mObituaries; Vector<Obituary>* mObituaries; ObjectManager mObjects; ObjectManager mObjects; Parcel* mConstantData; mutable String16 mDescriptorCache; mutable String16 mDescriptorCache; int32_t mTrackedUid; static Mutex sTrackingLock; static Mutex sTrackingLock; static std::unordered_map<int32_t,uint32_t> sTrackingMap; static std::unordered_map<int32_t,uint32_t> sTrackingMap; Loading Loading
libs/binder/BpBinder.cpp +7 −7 Original line number Original line Diff line number Diff line Loading @@ -139,10 +139,10 @@ BpBinder* BpBinder::create(int32_t handle) { BpBinder::BpBinder(int32_t handle, int32_t trackedUid) BpBinder::BpBinder(int32_t handle, int32_t trackedUid) : mHandle(handle) : mHandle(handle) , mStability(0) , mStability(0) , mTrackedUid(trackedUid) , mAlive(1) , mAlive(true) , mObitsSent(0) , mObitsSent(false) , mObituaries(nullptr) , mObituaries(nullptr) , mTrackedUid(trackedUid) { { ALOGV("Creating BpBinder %p handle %d\n", this, mHandle); ALOGV("Creating BpBinder %p handle %d\n", this, mHandle); Loading Loading @@ -185,7 +185,7 @@ const String16& BpBinder::getInterfaceDescriptor() const bool BpBinder::isBinderAlive() const bool BpBinder::isBinderAlive() const { { return mAlive; return mAlive != 0; } } status_t BpBinder::pingBinder() status_t BpBinder::pingBinder() Loading Loading @@ -236,7 +236,7 @@ status_t BpBinder::transact( status_t status = IPCThreadState::self()->transact( status_t status = IPCThreadState::self()->transact( mHandle, code, data, reply, flags); mHandle, code, data, reply, flags); if (status == DEAD_OBJECT) mAlive = false; if (status == DEAD_OBJECT) mAlive = 0; return status; return status; } } Loading Loading @@ -320,7 +320,7 @@ void BpBinder::sendObituary() ALOGV("Sending obituary for proxy %p handle %d, mObitsSent=%s\n", ALOGV("Sending obituary for proxy %p handle %d, mObitsSent=%s\n", this, mHandle, mObitsSent ? "true" : "false"); this, mHandle, mObitsSent ? "true" : "false"); mAlive = false; mAlive = 0; if (mObitsSent) return; if (mObitsSent) return; mLock.lock(); mLock.lock(); Loading @@ -332,7 +332,7 @@ void BpBinder::sendObituary() self->flushCommands(); self->flushCommands(); mObituaries = nullptr; mObituaries = nullptr; } } mObitsSent = true; mObitsSent = 1; mLock.unlock(); mLock.unlock(); ALOGV("Reporting death of proxy %p for %zu recipients\n", ALOGV("Reporting death of proxy %p for %zu recipients\n", Loading
libs/binder/include/binder/BpBinder.h +4 −3 Original line number Original line Diff line number Diff line Loading @@ -133,12 +133,13 @@ private: bool isDescriptorCached() const; bool isDescriptorCached() const; mutable Mutex mLock; mutable Mutex mLock; int32_t mTrackedUid; volatile int32_t mAlive; volatile bool mAlive; volatile int32_t mObitsSent; volatile bool mObitsSent; Vector<Obituary>* mObituaries; Vector<Obituary>* mObituaries; ObjectManager mObjects; ObjectManager mObjects; Parcel* mConstantData; mutable String16 mDescriptorCache; mutable String16 mDescriptorCache; int32_t mTrackedUid; static Mutex sTrackingLock; static Mutex sTrackingLock; static std::unordered_map<int32_t,uint32_t> sTrackingMap; static std::unordered_map<int32_t,uint32_t> sTrackingMap; Loading