[PATCH v3 0/9] MR272: d3dx10: Add D3DX10CreateThreadPump implementation.
Matteo Bruni (@Mystral)
wine at gitlab.winehq.org
Tue Jun 21 03:01:58 CDT 2022
Matteo Bruni (@Mystral) commented about dlls/d3dx10_43/d3dx10_43_main.c:
> + if (!work_item)
> + return E_OUTOFMEMORY;
> +
> + work_item->loader = loader;
> + work_item->processor = processor;
> + work_item->result = result;
> + work_item->object = object;
> +
> + if (object)
> + *object = NULL;
> +
> + AcquireSRWLockExclusive(&thread_pump->io_lock);
> + thread_pump->io_count++;
> + list_add_tail(&thread_pump->io_queue, &work_item->entry);
> + ReleaseSRWLockExclusive(&thread_pump->io_lock);
> + RtlWakeAddressAll((void *)&thread_pump->io_count);
Would it make sense to call RtlWakeAddressSingle() here (and in the other places where we add a work item to a queue) instead?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/272#note_2439
More information about the wine-devel
mailing list