thanks for taking the time to update your patch
unfortunately, it fails on wine regression test
the attached patch should solve this
[patch.ctrlc](/uploads/84ae84d1c5cf3d3dfc19904c673bc906/patch.ctrlc)
also, any reason you changed the ctrl event for and automatic reset?
actually, I was puzzled with the previous versions with a manual reset (my first guess would have been to implement it with an automatic reset)
I tried things like '(dir /s \\\* || echo aaaaa) && dir \*' (and halting the first dir command with ctrl-c) on native:
* does break the first dir command,
* executes the RHS of || (as the dir command failed because of the ctrl-c),
* prints the 'aaaaa' string
* executes the RHS of && (as last command of LHS, eg echo, did succeed),
* outputs just the directory header (but nothing else) for the second dir
which fits better with a manual reset (it could be implemented in native with something else, like a global variable set in the event handler -requires atomic ops-)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7322#note_94879
This adds Mach thread priority support (both in the application and realtime band) and recalculates thread priorities when the process priority changes.
Part 3, which is still a bit WIP deals with implementing priority boosts (for main threads and threads which are processing window messages), effectively fully replacing https://gitlab.winehq.org/wine/wine/-/merge_requests/1232.
Currently the implementation in this MR already technically overrides what https://gitlab.winehq.org/wine/wine/-/merge_requests/1232 does, if it makes sense I can also revert it here.
I added a few comments regarding the Mach thread priority API usage, as there is limited documentation available, and much was inferred from the source or by testing. If this is too verbose I can also remove that...
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/7317
I don't think these are serious problems, but Clang 20's defaults (from llvm-mingw nightly) were resulting in build failures with `--enable-werror` due to `-Wtautological-compare` and `-Wunused-function`. I hope that the buffer wrap checking is somewhat idiomatic/standard.
If necessary, I can split off the winevulkan change, but it seems minor enough to be grouped in this MR.
--
v2: rpcrt4: Pointer arithmetic fixes (-Wtautological-compare).
https://gitlab.winehq.org/wine/wine/-/merge_requests/7231