[PATCH 0/4] Update USER_SHARED_DATA timestamps more often.

Rémi Bernon rbernon at codeweavers.com
Fri Nov 29 03:23:57 CST 2019

This is a rewrite of the ntdll-User_Shared_Data staging patch series,
with a simpler approach that still solves the issue. Although it is less
correct in term of timestamp update than the original series, it should
also have less impact and may be more acceptable. We already update the
timestamps from time to time in ntoskrnl before accessing the memory,
and this adds another update after each sleep.

I checked that it allows the games reported in [2] to start, and some
others that also required the original patch series:

* Overwatch (with some additional staging patches)
* World of Warcraft (with some additional staging patches)
* Star Wars: The Old Republic
* Batman: Arkham Knight
* Just Cause 3

[1] https://www.winehq.org/pipermail/wine-devel/2012-March/094788.html
[2] https://bugs.winehq.org/show_bug.cgi?id=29168

Andrew Wesie (1):
  ntdll/tests: Test updating TickCount in user_shared_data.

Rémi Bernon (3):
  ntdll: Add user_shared_data_update internal timestamp update function.
  ntdll: Update user_shared_data InterruptTime fields when updating
  ntdll: Update user_shared_data timestamps after NtDelayExecution.

 dlls/ntdll/ntdll_misc.h |  1 +
 dlls/ntdll/sync.c       | 16 ++++++++++------
 dlls/ntdll/tests/time.c | 26 ++++++++++++++++++++++++++
 dlls/ntdll/thread.c     | 37 +++++++++++++++++++++++++++++--------
 4 files changed, 66 insertions(+), 14 deletions(-)


More information about the wine-devel mailing list