http://bugs.winehq.org/show_bug.cgi?id=24028
matex3@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matex3@hotmail.com
--- Comment #8 from matex3@hotmail.com 2011-01-20 22:13:27 CST --- I can confirm this happening, at least for the Ultima Online client. But i dont think it is only for this program.
Injection is a third party tool for UO which uses a SetWindowHookEx approach to inject its dll into the client. So after calling CreateProcess, it first waits with WaitForInputIdle until the client is initialized by the pe-loader. That is, because injection hooks some IAT-entrys for controlling the client-server-data flow.
While i am not using Injection, i can confirm this for my own dll injector(which also hooks PeekMessage in IAT, for CPU-Reduction): When calling WaitForInputIdle with the INFINITE parameter, _sometimes_ the function hangs infinitely. The code still works though when using some "magic-delay", but thats not very elegant.
In the stated example code of bug 23940 there is no use of the INFINITE parameter so the 'bug' can't be reproduced there.