Skip to content

Backport to 1.20 - xwayland: Fix infinite loop at startup

Mutter recently added headless tests, and when running those tests the Wayland compositor runs for a very short time.

Xwayland is spawned by the Wayland compositor and upon startup will query the various Wayland protocol supported by the compositor.

To do so, it will do a roundtrip to the Wayland server waiting for events it expects.

If the Wayland compositor terminates before Xwayland has got the replies it expects, it will loop indefinitely calling wl_display_roundtrip() continuously.

To avoid that issue, add a new xwl_screen_roundtrip() that checks for the returned value from wl_display_roundtrip() and fails if it is negative.

Signed-off-by: Olivier Fourdan ofourdan@redhat.com Reviewed-by: Roman Gilg subdiff@gmail.com Reviewed-by: Jonas Ådahl jadahl@gmail.com

(cherry picked from commit 785e5906)

Merge request reports