wayland/tests
Vlad Zahorodnii 268e8373ae Add wl_fixes.ack_global_remove()
The wl_global_remove() function was introduce to help mitigate clients
getting unintentionally disconnected if a global is added and removed in
a short burst.

The intended usage was:

 - the compositor calls wl_global_remove()
 - after a certain period of time, the compositor calls
   wl_global_destroy()

Unfortunately, it did not fully fix the issue due to the way monotonic
clock works on Linux. Specifically, it can tick even during sleep.

This change adds a slightly better way to handle global removal. With
the proposed changes, the clients need to signal to the compositor that
they won't bind the global anymore.

After all clients have acknowledged a wl_registry.global_remove, the
compositor can finally destroy the global.

Signed-off-by: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
2026-03-18 10:56:44 +02:00
..
data Fix typos 2026-03-03 08:17:13 -03:00
array-test.c Avoid pointer arithmetic on void * 2019-06-05 10:01:07 +00:00
client-test.c Mitigate UAF crashes due to wl_client_destroy reentrancy 2024-02-23 00:40:32 +00:00
compositor-introspection-test.c Check that XDG base directories paths are absolute 2022-06-09 18:34:17 +00:00
connection-test.c Fix typos 2025-05-20 20:49:32 +00:00
cpp-compile-test.cpp tests: C++ compilation test 2015-01-27 11:17:42 +00:00
display-test.c Add wl_fixes.ack_global_remove() 2026-03-18 10:56:44 +02:00
enum-validator-test.c tests: add enum bitfield test 2024-07-09 18:22:10 +02:00
event-loop-test.c tests/event-loop-test: Remove event loop timer test 2025-12-12 11:48:19 +00:00
exec-fd-leak-checker.c tests: Require base 10 for the string specifying the number of open fd's 2016-07-11 13:32:15 -07:00
fixed-test.c build: don't rely on implicit GNU extensions 2022-01-10 15:08:46 +01:00
headers-protocol-core-test.c tests: Check for client/server-core.h inclusion 2016-05-19 14:31:18 -07:00
headers-protocol-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
headers-test.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-12 15:31:24 -07:00
interface-test.c tests: Test wl_interface_equal 2016-11-18 16:21:19 +02:00
list-test.c tests: Add test for wl_list_length 2016-09-05 15:10:43 +03:00
map-test.c util: Avoid undefined behaviour in for_each_helper 2021-07-21 11:42:42 +00:00
meson.build tests: Depend on exec-fd-leak-checker 2025-06-08 17:30:55 +00:00
message-test.c Do not allow nullable new_id 2022-07-14 08:38:49 -07:00
newsignal-test.c tests: fix typos 2020-12-17 16:03:14 -05:00
os-wrappers-test.c connection: Dynamically resize connection buffers 2024-04-08 14:05:32 +00:00
protocol-logger-test.c Check that XDG base directories paths are absolute 2022-06-09 18:34:17 +00:00
proxy-test.c client: Add method to get display for a given proxy 2023-08-07 13:38:01 +00:00
queue-test.c tests: Add test for using a proxy with a destroyed queue as a factory 2026-03-01 01:03:37 +00:00
resources-test.c Mitigate UAF crashes due to iteration over freed wl_resources 2024-02-07 09:45:41 +00:00
sanity-test.c tests: Capture the test client log 2023-02-28 11:22:04 +00:00
scanner-test-gen.sh tests: add scanner test for enum-header 2024-03-28 13:21:28 +00:00
scanner-test.sh tests: add scanner test for enum-header 2024-03-28 13:21:28 +00:00
signal-test.c server: introduce wl_signal_emit_mutable 2022-03-28 19:06:16 +00:00
socket-test.c Check that XDG base directories paths are absolute 2022-06-09 18:34:17 +00:00
test-compositor.c Add wl_fixes.ack_global_remove() 2026-03-18 10:56:44 +02:00
test-compositor.h Add wl_fixes.ack_global_remove() 2026-03-18 10:56:44 +02:00
test-helpers.c build: fix build and provide compat for OpenBSD 2024-02-21 15:46:41 +00:00
test-runner.c build: fix build and provide compat for OpenBSD 2024-02-21 15:46:41 +00:00
test-runner.h tests: Remove memory leak checking infrastructure 2018-08-29 09:59:04 +01:00