Closed Bug 986933 Opened 6 years ago Closed 6 years ago

Add multi-threaded PGrallocBufferChild deallocation to ImageBridgeChild

Categories

(Core :: Graphics: Layers, defect)

ARM
Gonk (Firefox OS)
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla31

People

(Reporter: sotaro, Assigned: sotaro)

References

Details

Attachments

(1 file, 2 obsolete files)

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.
Blocks: 985772
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
Assignee: nobody → sotaro.ikeda.g
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+".
Blocks: 971946
https://hg.mozilla.org/mozilla-central/rev/a5de023f1ecc
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.