winmm: Fix race condition between timeKillEvent and function
m.b.lankhorst at gmail.com
Fri Jun 8 14:17:52 CDT 2007
This fixes the following race for TIME_KILL_SYNCHRONOUS:
MMSysTimeCallback acquires winmm lock, copies struct, leaves winmm lock.
timeKillEvent acquires winmm lock, enters TIME_cbcrst lock, free's timer
MMSysTimeCallback calls the function after timeKillEvent has been
called, while the application is safe to return that doesn't happen any
more, and it might have free'd some stuff in the mean time.
Solution: Enter TIME_cbcrst in mmsystimecallback BEFORE leaving winmm lock.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 454 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070608/cf56dc92/winmm.bin
More information about the wine-patches