wine/dlls/gdiplus
Jinoh Kang 72c0c88f2a gdiplus: Replace GpImage's busy flag with SRWLOCK.
Today, the image_unlock() helper function has a data race due to
non-atomic write to GpImage's 'busy' flag which is accessible by other
threads.  Also, it lacks a release fence, which means that other threads
can observe the unlocked (busy = 0) state too early when the current
thread unlocks the image; specifically, the write to the 'busy' field of
the GpImage can be reordered before the last read/write to any other
fields of the same GpImage.

Fix this by replacing the 'busy' field of GpImage with SRWLOCK.
2022-10-24 11:17:39 +02:00
..
tests gdiplus/tests: Enable compilation with long types. 2022-02-28 21:31:56 +01:00
brush.c
customlinecap.c
font.c gdiplus: Accept newer version in OpenType header. 2022-04-11 11:54:54 +02:00
gdiplus.c
gdiplus.manifest
gdiplus.rc
gdiplus.spec
gdiplus11.manifest
gdiplus_private.h gdiplus: Replace GpImage's busy flag with SRWLOCK. 2022-10-24 11:17:39 +02:00
graphics.c gdiplus: Get the compositing mode directly from the graphics object. 2022-09-28 15:39:04 +02:00
graphicspath.c
image.c gdiplus: Replace GpImage's busy flag with SRWLOCK. 2022-10-24 11:17:39 +02:00
imageattributes.c
Makefile.in
matrix.c
metafile.c
pathiterator.c
pen.c
region.c
stringformat.c