https://bugs.winehq.org/show_bug.cgi?id=53327
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Keywords| |regression Status|UNCONFIRMED |NEW Regression SHA1| |e86b4015ff405d4c054b8a5bc85 | |5ee655e1a833c Component|-unknown |ntdll CC| |matteo.mystral@gmail.com
--- Comment #2 from Zeb Figura z.figura12@gmail.com --- I was able to bisect; this was broken by
commit b1a79c6b9c3ada0c34b1411b60879962f1815e4d Author: Matteo Bruni mbruni@codeweavers.com Date: Wed Oct 6 15:53:57 2021 +0200
ntdll: Implement NtYieldExecution() as usleep().
Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
That was later reverted in 3203f056687, but then broken again by
commit e86b4015ff405d4c054b8a5bc855ee655e1a833c Author: Matteo Bruni mbruni@codeweavers.com Date: Fri Nov 19 20:50:29 2021 +0100
ntdll: Call usleep() instead of NtYieldExecution() in NtDelayExecution().
This implements the general fix from b1a79c6b9c3ada0c34b1411b60879962f1815e4d (in particular, making sure that Sleep(0) will not immediately resume execution of the thread if there are no other runnable threads) while preserving the existing behavior of NtYieldExecution() / SwitchToThread(). Thanks Rémi for the idea.
Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org