Closed Bug 986933 Opened 6 years ago Closed 6 years ago
Add multi-threaded PGralloc
Buffer Child deallocation to Image Bridge Child
In GrallocTextureClientOGL::~GrallocTextureClientOGL(), there is a case that SurfaceDescriptor is deallocated by calling ISurfaceAllocator::DestroySharedSurface(). But the function seems needed to be called from IPC thread. But GrallocTextureClientOGL's destructor could be called from non IPC thread.
shmem deallocation case is protected by ImageBridgeChild::DeallocShmem(ipc::Shmem& aShmem). But PGrallocBufferChild's deallocation does not have such code to protect from off ipc thread deallocation.
Summary: ISurfaceAllocator::DestroySharedSurface() could be called from non-IPC thread → Handle PGrallocBufferChild's deallocation fron non IPC thread
Summary: Handle PGrallocBufferChild's deallocation fron non IPC thread → Add multi-threaded PGrallocBufferChild deallocation to ImageBridgeChild
Attachment #8395954 - Flags: review?(nical.bugzilla)
Attachment #8395954 - Flags: review?(nical.bugzilla) → review+
(In reply to Sotaro Ikeda [:sotaro] from comment #3) > https://tbpl.mozilla.org/?tree=Try&rev=9aab41f5eec6 A lot of build failure on some platforms.
Fix build failure on linux.
Attachment #8395954 - Attachment is obsolete: true
Attachment #8396698 - Attachment is obsolete: true
Carry "nical review+".
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla31
You need to log in before you can comment on or make changes to this bug.