As stated in 2786, this won't be accepted until someone figures out a way to make socket deletion less ugly.
I just noticed how bad it is, IDK How everyone missed how truly horrible the socket deletion code was, it is more than ugly.
From using `st` before it is initialized, to having duplicate code, I think doing something from scratch would be better. So the idea would be to completely drop `server: Allow for deletion of socket files.`.
The issue is that `open_fd` from `server/fd.c` will fail to open/get a file descriptor when `DeleteFileW` from `dlls/kernelbase/file.c` calls `NtCreateFile`. Maybe the idea would be to make `open_fd` open `/dev/null` as an `fd` when `NtCreateFile` is called with `FILE_OPEN, FILE_DELETE_ON_CLOSE | FILE_NON_DIRECTORY_FILE` on an unix socket? (Opening file with `FILE_DELETE_ON_CLOSE` and only `FILE_OPEN` and no `FILE_READ` or `FILE_WRITE`) For now this PR don't make AF_UNIX sockets apply a read/write lock on unix socket files, maybe also adding a test for deleting an AF_UNIX socket that is not yet closed could be a good idea. `DeleteFileW` code: https://github.com/wine-mirror/wine/blob/3379ee2e6b5f610b9f82d31be9417095372... @zfigura your feedback would be very much appreciated. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7650#note_99127