There's a race on macOS when sending socket fd with sendmsg. The fd may get broken if it's closed before recvmsg is called.
I'm attaching a small program [test.c](/uploads/145cb273e664b8e0c433d016af0c1da1/test.c) that shows the issue outside of wine. The problem is easy to reproduce on macOS Sonoma and Monterey by running:
```
# gcc test.c
# ./a.out
```
It outputs "got fd in broken state" and quits after detecting fd in broken state.
It can also be reproduced in wine by starting new process and waiting until it finishes in a loop until wineserver crashes (usually it takes \~20 minutes to reproduce the crash this way).
There's similar code in server/thread.c:create_thread() but it's not affected by the bug because pipe fds are used.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5291
Mainly the implementation of SM1 comparison operators, defined in terms of CMP and SLT instructions, and the capacity to transform SLT->CMP for pixel shaders and CMP->SLT for vertex shaders.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/706
I goofed.
This commit replaces the use of "print" with "printf" in awk to avoid a newline in
the value of $xfcount, and replaces ">", which creates the spurious file, with "-gt" in the comparison.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/705
~~This applies on top of !672, the last three commits belong here.~~
Here we compute additional "synthetic" loops that will be used to implement non-trivial forward edges using (possibly conditional) `break` instructions.
--
v4: vkd3d-shader/ir: Sort loop intervals.
vkd3d-shader/ir: Generate synthetic intervals for forward edges.
vkd3d-shader/ir: Compute loop as intervals of the block order.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/698
--
v5: vkd3d-shader/fx: Add support for writing shared object descriptions for fx_4_x.
vkd3d-shader: Add an option to enable child effects compilation.
vkd3d-shader/fx: Add initial support for writing uninitialized vertex/pixel shader objects.
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/692