Skip to content
Commit 5e6eb032 authored by Giulio Camuffo's avatar Giulio Camuffo Committed by Pekka Paalanen
Browse files

server: add a safer signal type and port wl_display to it



wl_list_for_each_safe, which is used by wl_signal_emit is not really
safe. If a signal has two listeners, and the first one removes and
re-inits the second one, it would enter an infinite loop, which was hit
in weston on resource destruction, which emits a signal.
This commit adds a new version of wl_signal, called wl_priv_signal,
which is private in wayland-server.c and which does not have this problem.
The old wl_signal cannot be improved without breaking backwards compatibility.

Signed-off-by: default avatarGiulio Camuffo <giulio.camuffo@kdab.com>
Reviewed-by: default avatarPekka Paalanen <pekka.paalanen@collabora.co.uk>
parent 23d8bc5a
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment