Re:Threads Are a Bad Idea for Most Purposes (1995) [pdf]
by gpderetta on Tuesday January 28, 2020 @08:42PM
(#22176323)
I do not think you can wait on a critical section or a condition variable with WaitForMultipleEvents in windows. The same is true in linux. You can use select/poll/epoll on signalfd though.
Re:Threads Are a Bad Idea for Most Purposes (1995) [pdf]
by StillBored on Tuesday January 28, 2020 @09:58PM
(#22176835)
Does IORING_OP_POLL_ADD work with signalfd's (I don't really know without messing with it, how about IORING_OP_EPOLL_CTL?)?
I wouldn't assume it does until I've verified and read the code, I know last year at plumbers there was a fuss about the fact that a lot of operations which should have been working wernt. Frequently in odd ways, for example direct read worked but not direct write IIRC.
io_uring is "different" and definitely has some advantages due to its shared ring buffer. but NT has a core/generic set of async completion/wait/etc functions that can be applied to basically the entire API surface.