Comment by shakna

1 month ago

epoll is threaded, not multiprocess. [0]

hare-ev is using rt to make the epoll syscalls. [1]

> On Linux, ev is implemented with epoll. Note that, on Linux, I/O on regular files is always blocking.

[0] https://www.man7.org/linux/man-pages/man7/epoll.7.html

[1] https://docs.harelang.org/rt#SYS_epoll_create

> epoll is threaded, not multiprocess

epoll is orthogonal to threads. It _can_ be used in a multithreaded program, but it doesn't have to be. It may very well be implemented in terms of kernel threads, but that's not what I'm talking about. I'm talking about user-space threads.