So when epoll doesn't cope with regular files as author expected, why not use better interface: kqueue?
A bigger obstacle is that not all file systems support asynchronous I/O, the io_*() syscalls won't help you there.
So when epoll doesn't cope with regular files as author expected, why not use better interface: kqueue?