On Fri, May 17, 2024 at 12:00 AM Alexander Lakhin <exclus...@gmail.com> wrote: > I've tested v2 and can confirm that it works as v1, `vcregress check` > passes with no failures on REL_16_STABLE, `meson test` with the basic > configuration too.
Pushed, including back-branches. This is all not very nice code and I hope we can delete it all some day. Ideas include: (1) Thinking small: change over to the WAIT_USE_POLL implementation of latch.c on this OS (Windows has poll() these days), using a socket pair for latch wakeup (i.e. give up trying to multiplex with native Windows event handles, even though they are a great fit for our latch abstraction, as the sockets are too different from Unix). (2) Thinking big: use native completion-based asynchronous socket APIs, as part of a much larger cross-platform AIO socket reengineering project that would deliver higher performance networking on all OSes. The thought of (2) puts me off investing time into (1), but on the other hand it would be nice if Windows could almost completely share code with some Unixen. I may be more inclined to actually try it if/when we can rip out the fake signal support, because it is tangled up with this stuff and does not spark joy.