Some GHC internal environment documents mention that it uses epoll / kqueue / poll to determine if the file descriptor is ready to be read / written.
I can understand how this is done for input / output socket. But what about accessing the file on disk? Polling script does not work with regular files, only with input / output socket; true?
The only option I can imagine is to use a thread pool to block system calls, one thread for the request ...
c haskell ghc
user3489275
source share