scanner: Use the new atomic marshal/destroy function
authorDerek Foreman <derek.foreman@collabora.com>
Wed, 21 Jul 2021 21:32:36 +0000 (16:32 -0500)
committerDaniel Stone <daniels@collabora.com>
Sat, 7 Aug 2021 11:53:23 +0000 (11:53 +0000)
commit0e0274af0c9f60d2759713df136f4294054c9096
treee5eb0b0f359abc61f8e7d8f9d429f5fa995530a8
parent23e4a7060080ebb61f516a2edcd71ab123029c0e
scanner: Use the new atomic marshal/destroy function

Use the new flagged marshal+destroy function in generated code.

It's intended as a replacement for all existing wl_proxy_marshal_*
functions, so I've used it to replace them all. This results in a large
update to the scanner test files as well.

We now pass the new WL_MARSHAL_FLAG_DESTROY flag when appropriate, so
the race condition in #86 caused by releasing the display mutex between
marshalling the proxy and destroying the proxy is now gone.

Fixes #86

Signed-off-by: Derek Foreman <derek.foreman@collabora.com>
src/scanner.c
tests/data/example-client.h
tests/data/small-client-core.h
tests/data/small-client.h