[PATCH v3 0/9] MR272: d3dx10: Add D3DX10CreateThreadPump implementation.
Matteo Bruni (@Mystral)
wine at gitlab.winehq.org
Tue Jun 21 03:01:55 CDT 2022
Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/d3dx10_43_main.c:
> {
> struct thread_pump *thread_pump = impl_from_ID3DX10ThreadPump(iface);
> ULONG refcount = InterlockedDecrement(&thread_pump->refcount);
> + struct work_item *iter, *next;
> + struct list list;
> + int i;
>
> TRACE("%p decreasing refcount to %lu.\n", iface, refcount);
>
> if (!refcount)
> + {
> + AcquireSRWLockExclusive(&thread_pump->io_lock);
> + thread_pump->io_count = THREAD_PUMP_EXITING;
> + ReleaseSRWLockExclusive(&thread_pump->io_lock);
> + RtlWakeAddressAll((void *)&thread_pump->io_count);
It should be possible to drop the cast here and in all the other RtlWakeAddressAll() calls.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/272#note_2433
More information about the wine-devel
mailing list