use epoll/kqueue/signal-driven IO
There are several problems with that advice:
I agree, POSIX is increasingly irrelevant as it isn't a useful representation of *nix any more. (Or for the last two decades for that matter.)
Yes, there are the calls signalfd(), eventfd(), and timerfd_create(); but they don't help much.
Fast changing, dynamic descriptor sets require many and frequent calls into the kernel for epoll_ctl(), which gets expensive.
Basically, it hasn't caught up with the advent of the multi-core architectures that are now ubiquitous; which means you can't easily split your loads across those multiple cores by using multiple thread running separate event loops.
Yes, you can use multiple processes; but that creates the problem of coordination and data sharing between those processes.
In reply to Re^5: Allowing user to abort waitpid
by BrowserUk
in thread Allowing user to abort waitpid
by lab007
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |