[PATCH 1/5] server: Introduce a separated type for user APCs.

Jacek Caban jacek at codeweavers.com
Thu Apr 9 18:05:04 CDT 2020


Signed-off-by: Jacek Caban <jacek at codeweavers.com>
---

This is a resend on top of recent git.

I think the series is good to have on its own, but, to give more 
context, it's also a preparation for improving CPU context transfers 
between client and server. With my WIP patches, select can optionally 
send and receive a context, eliminating need for separated 
get_suspend_context and set_suspend_context and reducing SIGUSR1 
handling overhead. We can also change exception event handling to use 
the same mechanism, leading to nice server simplification.

The above is not strictly needed for other changes, but server 
simplification makes them much easier. I changed context to be a server 
object, so that get_thread_context can use proper wait instead of 
polling for suspend. This reliably fixes bug 48052 and probably bug 
45546 (at least in cases when it's really Wine bug).

  dlls/ntdll/server.c | 34 ++++++++++++++++++++++++----------
  dlls/ntdll/thread.c | 10 +++++-----
  server/async.c      | 10 +++++-----
  server/protocol.def |  6 ++++++
  server/timer.c      |  8 ++++----
  server/trace.c      | 12 ++++++------
  6 files changed, 50 insertions(+), 30 deletions(-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-server-Introduce-a-separated-type-for-user-APCs.txt
Type: text/x-patch
Size: 6092 bytes
Desc: not available
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20200410/ac213af3/attachment.bin>


More information about the wine-devel mailing list