aboutsummaryrefslogtreecommitdiffstats
path: root/tests/cpp-compile-test.cpp
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman@collabora.com>2021-07-21 16:26:00 -0500
committerDaniel Stone <daniels@collabora.com>2021-08-07 11:53:23 +0000
commit23e4a7060080ebb61f516a2edcd71ab123029c0e (patch)
tree89de14e9caf826a41d5c141b5b8c9920d8ef44cc /tests/cpp-compile-test.cpp
parentclient: Refactor wl_proxy_destroy critical section (diff)
downloadwayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar.gz
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar.bz2
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar.lz
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar.xz
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.tar.zst
wayland-23e4a7060080ebb61f516a2edcd71ab123029c0e.zip
client: Add new proxy marshalling functions with flags
There's a race when destroying wayland objects in a multi-threaded client. This occurs because we call: wl_proxy_marshal(foo); wl_proxy_destroy(foo); And each of these functions takes, and releases, the display mutex. Between the two calls, the display is not locked. In order to allow atomically marshalling the proxy and destroying the proxy without releasing the lock, add yet more wl_proxy_marshal_* functions. This time add flags and jam in all existing warts with the hope that we can make it future proof this time. Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
Diffstat (limited to 'tests/cpp-compile-test.cpp')
0 files changed, 0 insertions, 0 deletions