mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-11-10 13:29:44 -05:00
The old approach of using a signal is fundamentally broken for a common usecase: When the waiter is ready, it's common to immediately finish and free any resources associated with it. Because of the semantics of wl_signal_emit_mutable() this is UB. wl_signal_emit_mutable() always excepts that the waiter hasn't been freed until the signal has finished being emitted. Instead of over engineering the solution, let's just add a callback required by wlr_drm_syncobj_timeline_waiter_init(). In this callback, the implementation is free to finish() or free() any resource it likes. |
||
|---|---|---|
| .. | ||
| allocator.h | ||
| color.h | ||
| dmabuf.h | ||
| drm_format_set.h | ||
| drm_syncobj.h | ||
| egl.h | ||
| gles2.h | ||
| interface.h | ||
| pass.h | ||
| pixman.h | ||
| swapchain.h | ||
| vulkan.h | ||
| wlr_renderer.h | ||
| wlr_texture.h | ||