using PL macro to understand the EPOLL state machine