separated epoll and select into different functions...