- do not re-arm read timeout in SHUTR state - optimize I/O by detecting system starvation - the epoll FD must not be shared between processes - limit the number of events returned by *poll*