mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-23 21:38:18 +02:00
This resolves a memory leak when the application drops its last reference to the queue, but never waits explicitly. The problem was, that the queue was refed by QueueState::last and that ref only gets dropped on a blocking wait. This is problematic as non user Event objects also hold a ref on the Queue they are created on, therefore causing a cyclic ref relation. In order to resolve it, just use a weak reference. A failure of upgrading the Weak ref is not an issue as in this case we'd only wait on an already destroyed or processed event. The worker thread already makes sure everything stays in sync. Fixes: |
||
|---|---|---|
| .. | ||
| clover | ||
| d3d10umd | ||
| dri | ||
| glx/xlib | ||
| hgl | ||
| lavapipe | ||
| nine | ||
| omx | ||
| osmesa | ||
| rusticl | ||
| va | ||
| vdpau | ||
| wgl | ||
| xa | ||