On 11/20/22 02:28, Fabian Maurer wrote:
Hello,
you committed a fix for Bug 52263, but I think that only masks the issue, not really fixing it.
Your fix is here: https://gitlab.winehq.org/wine/wine/-/commit/ 7e5eeecdfb5c90042945d9e84a3a9f8b2ed0036a
I described what happens in https://bugs.winehq.org/show_bug.cgi?id=52314#c4
I think we can only time out in this wait, so this doesn't seem right. Could you please take a second look?
Regards, Fabian Maurer
Yes this was more a workaround than a real fix, but with the wait (which times out), we're making more sure that the thread has returned from the dinput code and is itself waiting for the loader lock (and thus that we can safely unload the dinput module).
It's not great, but a better fix would require much more changes, it wasn't accepted at the time, and I'm a bit anxious and touching it again as there's many places where the loader lock may be acquired implicitly.
Maybe I can have another try before the freeze...
Thanks for reminding me of it anyway.
Cheers,