https://bugs.winehq.org/show_bug.cgi?id=14697
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #9 from Sebastian Lackner sebastian@fds-team.de --- Created attachment 52592 --> https://bugs.winehq.org/attachment.cgi?id=52592 Hack to disable interruptable waits for running threads
I haven't been able to reproduce this bug yet, but based on the description the attached hack should help.
I assume processing system APCs inside of regular server_select() calls was mainly implemented for performance reasons. However the whole idea seems to be a bit broken by design. We cannot guarantee that an APC will run without interruptions without blocking the signal or sending USR1. Blocking signals is not possible because it would break suspending a thread during a wait. Manually keeping track of the thread state also seems pretty complex. So the best idea I would have would be to remove interruptible waits again, and just always use USR1. :/