ntdll: Block signals while executing system APCs. (v2)

Alexandre Julliard julliard at winehq.org
Wed Nov 4 06:50:49 CST 2015

Sebastian Lackner <sebastian at fds-team.de> writes:

> Changes in v2:
>   * Do not delete the still valid comment "Return TRUE if a user APC has been run.".
>     I still had this deleted from an earlier version of the patchset, where the
>     return type was changed.
> If a USR1 suspend signal arrives between dequeing a system APC and sending
> back the result to the wineserver, a deadlock occurs. To avoid this issue
> this patch blocks all signals in server_select(), except while waiting or
> processing user APCs.

I'm guessing this is for bug 14697?  It seems to me you could do that on
the server side, by not suspending the thread while system APCs are
outstanding. Also a test case demonstrating the bug would be a good
first step.

Alexandre Julliard
julliard at winehq.org

More information about the wine-devel mailing list