Epoll is broken – part 2/2
I always found it interesting that WinNT got this one right very early on (IOCP; first appeared in NT 3.5 in 1994), and thus avoided all these problems, and a series of subsequent APIs trying to correct them. The way you do <i>efficient</i> asynchronous I&#x2F;O in Win32 today is still the same as it was 20 years ago.<p>For those unfamiliar with that model, here&#x27;s a brief description:
<a href="https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20101101112358&#x2F;http:&#x2F;&#x2F;doc.sch130.nsc.ru&#x2F;www.sysinternals.com&#x2F;ntw2k&#x2F;info&#x2F;comport.shtml" rel="nofollow">https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20101101112358&#x2F;http:&#x2F;&#x2F;doc.sch130...</a><p>My understanding is that kqueue in FreeBSD is also conceptually similar, but I never had a chance to take a close look at that.