I still don't understand which is the practical advantage of making this Linux specific, depending on gore kernel implementation details (it does IMO, if that is not could you please link some documentation or socket specification describing these details?). While that can be easily avoided. The downsides are clear: - it is not fully correct, already waiting select won't be woken in the same logic; - it is complicated and depends on details of Linux kernal implementation (unless I am wrong and that is specified / documented somewhere? in that case we can remove this part about internal details but it is still complicated); - it will work this way on Linux only. If I am missing some important disadvantages of alternative solution (which will also fix that short write thing on the way), maybe those can be named? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11272#note_148074