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.