diff options
| author | Derek Foreman <derek.foreman@collabora.com> | 2021-07-21 16:26:00 -0500 |
|---|---|---|
| committer | Daniel Stone <daniels@collabora.com> | 2021-08-07 11:53:23 +0000 |
| commit | 23e4a7060080ebb61f516a2edcd71ab123029c0e (patch) | |
| tree | 89de14e9caf826a41d5c141b5b8c9920d8ef44cc /tests/cpp-compile-test.cpp | |
| parent | client: Refactor wl_proxy_destroy critical section (diff) | |
| download | wayland-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
