From 2ae381e2a3adcfbe749cefad059ff1ffd0048d1c Mon Sep 17 00:00:00 2001 From: Wonchul Lee Date: Mon, 3 Dec 2018 16:18:32 +0900 Subject: waylandsink: Avoid race condition on multi-threaded client When waylandsink is used on some other thread than the main wayland client thread, the waylandsink implementation is vulnerable to a condition related to registry and surface events which handled in seperated event queue. The race that may happen is that after a proxy is created, but before the queue is set, events meant to be emitted via the yet to set queue may already have been queued on the wrong queue. Wayland 1.11 introduced new API that allows creating a proxy wrappper which can help to avoid this race condition. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index c43a1f096..de39786f2 100644 --- a/configure.ac +++ b/configure.ac @@ -1334,7 +1334,7 @@ dnl **** Wayland **** translit(dnm, m, l) AM_CONDITIONAL(USE_WAYLAND, true) AC_PATH_PROG([wayland_scanner], [wayland-scanner]) AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [ - PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.4.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [ + PKG_CHECK_MODULES(WAYLAND, wayland-client >= 1.11.0 libdrm >= 2.4.55 wayland-protocols >= 1.4, [ if test "x$wayland_scanner" != "x"; then HAVE_WAYLAND="yes" AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`) -- cgit v1.2.1