mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
72c0c88f2a
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. |
||
---|---|---|
.. | ||
tests | ||
brush.c | ||
customlinecap.c | ||
font.c | ||
gdiplus.c | ||
gdiplus.manifest | ||
gdiplus.rc | ||
gdiplus.spec | ||
gdiplus11.manifest | ||
gdiplus_private.h | ||
graphics.c | ||
graphicspath.c | ||
image.c | ||
imageattributes.c | ||
Makefile.in | ||
matrix.c | ||
metafile.c | ||
pathiterator.c | ||
pen.c | ||
region.c | ||
stringformat.c |