https://bugs.winehq.org/show_bug.cgi?id=45819
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- (In reply to Zebediah Figura from comment #3)
(In reply to Jacek Caban from comment #2)
(In reply to Zebediah Figura from comment #1)
I have a working implementation of this which I've pushed to Staging. However, it doesn't work in Wine yet, because it needs an implementation of KeGetCurrentThread().
Unless I'm missing something, you don't need the actual structue, just an unique thread identifier. For that you could just use PsGetCurrentThreadId() which is already implemented.
Problem there is that programs can pass (their own or a different) thread to ExReleaseResourceForThreadLite(), and that's supposed to be a KTHREAD pointer.
I guess we can skip that for now, though.
Well, maybe. The application attached to bug 33908 uses ExReleaseResourceForThreadLite().
And presumably we'll need a KTHREAD implementation eventually anyway. I did ask for feedback on how to add one [1], but got no response.
[1] https://www.winehq.org/pipermail/wine-devel/2019-January/138609.html