New issue
Advanced search Search tips

Issue 640730 link

Starred by 1 user

Issue metadata

Status: Duplicate
Merged: issue 487471
Owner:
Closed: Aug 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Where is the cc::OutputSurface supposed to die?

Project Member Reported by khushals...@chromium.org, Aug 24 2016

Issue description

The comment on the class says that once passed to the compositor thread and bound to its client, it will be deleted on the same thread. We also read |client_| in the dtor and detach if its still there. But its actually deleted on the main thread and the compositor thread only holds a weak reference. So which one is it supposed to be?
 

Comment 1 by vmp...@chromium.org, Aug 24 2016

Cc: vmp...@chromium.org
Owner: danakj@chromium.org
I think danakj is looking at output surface stuff. 

Comment 2 by danakj@chromium.org, Aug 24 2016

The DetachFromClient happens on the compositor thread. I want it to die there but it doesn't because the worker context is bound to the main thread and it needs to be destroyed there.

Consider the OS dead before BindToClient and after DetachFromClient. That's why weakptrs are invalidated explicitly in there.

Comment 3 by danakj@chromium.org, Aug 24 2016

Status: duple (was: Assigned)
That comment used to be true, you can find the CL that added sharing the worker context to see where it changed. And I'm trying to fix it.

Comment 4 by danakj@chromium.org, Aug 24 2016

Mergedinto: 487471
Status: Duplicate (was: duple)

Sign in to add a comment