https://man7.org/linux/man-pages/man2/select.2.html
https://man7.org/linux/man-pages/man2/poll.2.html
https://man7.org/linux/man-pages/man7/epoll.7.html
А вообще, нормальные сервера пишутся всегда с обслуживающим потоком и даже пулом потоков для транспортных сокетов.