don't use EPOLLONESHOT on the epoll backend - instead just keep fd's inside epoll and reset callbacks