@@ -78,7 +78,16 @@ BpBinder::ObjectManager::ObjectManager()
7878
7979BpBinder::ObjectManager::~ObjectManager ()
8080{
81- kill ();
81+ const size_t N = mObjects .size ();
82+ ALOGV (" Killing %zu objects in manager %p" , N, this );
83+ for (auto i : mObjects ) {
84+ const entry_t & e = i.second ;
85+ if (e.func != nullptr ) {
86+ e.func (i.first , e.object , e.cleanupCookie );
87+ }
88+ }
89+
90+ mObjects .clear ();
8291}
8392
8493void * BpBinder::ObjectManager::attach (const void * objectID, void * object, void * cleanupCookie,
@@ -144,20 +153,6 @@ sp<IBinder> BpBinder::ObjectManager::lookupOrCreateWeak(const void* objectID, ob
144153 return newObj;
145154}
146155
147- void BpBinder::ObjectManager::kill ()
148- {
149- const size_t N = mObjects .size ();
150- ALOGV (" Killing %zu objects in manager %p" , N, this );
151- for (auto i : mObjects ) {
152- const entry_t & e = i.second ;
153- if (e.func != nullptr ) {
154- e.func (i.first , e.object , e.cleanupCookie );
155- }
156- }
157-
158- mObjects .clear ();
159- }
160-
161156// ---------------------------------------------------------------------------
162157
163158sp<BpBinder> BpBinder::create (int32_t handle, std::function<void ()>* postTask) {
@@ -697,19 +692,19 @@ void BpBinder::reportOneDeath(const Obituary& obit)
697692void * BpBinder::attachObject (const void * objectID, void * object, void * cleanupCookie,
698693 object_cleanup_func func) {
699694 RpcMutexUniqueLock _l (mLock );
700- ALOGV (" Attaching object %p to binder %p (manager=%p)" , object, this , &mObjects );
701- return mObjects .attach (objectID, object, cleanupCookie, func);
695+ ALOGV (" Attaching object %p to binder %p (manager=%p)" , object, this , &mObjectMgr );
696+ return mObjectMgr .attach (objectID, object, cleanupCookie, func);
702697}
703698
704699void * BpBinder::findObject (const void * objectID) const
705700{
706701 RpcMutexUniqueLock _l (mLock );
707- return mObjects .find (objectID);
702+ return mObjectMgr .find (objectID);
708703}
709704
710705void * BpBinder::detachObject (const void * objectID) {
711706 RpcMutexUniqueLock _l (mLock );
712- return mObjects .detach (objectID);
707+ return mObjectMgr .detach (objectID);
713708}
714709
715710void BpBinder::withLock (const std::function<void ()>& doWithLock) {
@@ -720,7 +715,7 @@ void BpBinder::withLock(const std::function<void()>& doWithLock) {
720715sp<IBinder> BpBinder::lookupOrCreateWeak (const void * objectID, object_make_func make,
721716 const void * makeArgs) {
722717 RpcMutexUniqueLock _l (mLock );
723- return mObjects .lookupOrCreateWeak (objectID, make, makeArgs);
718+ return mObjectMgr .lookupOrCreateWeak (objectID, make, makeArgs);
724719}
725720
726721BpBinder* BpBinder::remoteBinder ()
0 commit comments