On Tue, Jun 2, 2020 at 2:58 PM Paul Winalski wrote: > I think that's a very good question. It's analogous to > record-oriented I/O vs. byte stream I/O. It's easy to build > record-oriented I/O on top of a byte stream, but it's a real bear to > do it the other way around. Similarly, it's easy to build synchronous > I/O on top of asynchronous I/O but the reverse ends up looking contrived. > Which was exactly the point I tried to make in the POSIX.4 discussions, but it does take more work in the basic housekeeping and you need a way to handle events and completions that are priority based, queued, and a few other details. As Doug said, they stayed away from some features (like messaging). async I/O was one of them. But as I said, Ken, Dennis and the rest of the crew did an amazing job with very little.