windowmaker-wl/tests
Levi Neely 632c093355 wayland: Phase 21 — lazy XWayland + lock file cleanup on shutdown
Switch wlr_xwayland_create from lazy=false to lazy=true.  With eager
start the Xwayland process forks before the compositor's event loop is
running; Xwayland's Wayland client tries to negotiate globals immediately,
gets no response, and closes its connection ("Broken pipe" / "xcb connect
failed: 1").  Lazy mode defers the fork until the first X11 client
connects, by which time the event loop is fully running.

The pre-allocated display number is still available immediately so DISPLAY
is set for child processes regardless of whether Xwayland has started.

On shutdown, after SIGKILL-ing the Xwayland process, explicitly remove
/tmp/.X{n}-lock and /tmp/.X11-unix/X{n}.  Without this, if the dead
process's PID is reused by another process before the next wmaker run,
wlroots' stale-lock detection (kill(old_pid,0)) wrongly reports the
display as in-use and the next run fails to claim the same display number.

Smoke test updated: check for "XWayland DISPLAY=.*lazy" instead of the
old "XWayland started DISPLAY=" pattern.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 13:05:40 +02:00
..
Makefile.am Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
test_geom.c Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
test_x11_event.c Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
wl-smoke-test.sh wayland: Phase 21 — lazy XWayland + lock file cleanup on shutdown 2026-03-30 13:05:40 +02:00
x11-smoke-test.sh wayland: add WMAKER_USE_WAYLAND backend selector and split smoke tests 2026-03-27 22:29:27 +01:00