On 19 Nov 2020, at 14:12, Rémi Bernon rbernon@codeweavers.com wrote:
On 11/19/20 3:01 PM, Huw Davies wrote:
On 19 Nov 2020, at 13:42, Rémi Bernon rbernon@codeweavers.com wrote:
On 11/19/20 2:09 PM, Huw Davies wrote:
Signed-off-by: Huw Davies huw@codeweavers.com
server/protocol.def | 9 ++++++- server/queue.c | 62 ++++++++++++++++++++++----------------------- server/user.h | 3 --- 3 files changed, 39 insertions(+), 35 deletions(-)
Just a quick thought, as the shared desktop data struct is flagged volatile, this will probably prevent optimizations on the server-side reads too, maybe we could avoid that and only make the writes volatile?
Hmm, interesting idea. That would most likely involve volatile casts while writing (or macros to hide them), neither of which are particularly appealing. I'd be tempted to wait to see if this becomes a real issue before doing this, but I'm open to being persuaded otherwise. Huw.
We could also keep the non-shared state like it is and add a separate shared state that gets updated with the non-shared state, in the helper?
Again that's possible, but also seems fairly ugly. Not least because a future patch will add the desktop keystate to the shared mapping and keeping two copies of that in sync seems wrong.
Huw.