It's not deprecated, and lots of programs rely on it.
It's just not the best tool as it has some limitations:
- The number of file descriptors is limited (OS specific, usually possible to increase it with kernel recompiling).
- Doesn't scale well (with lots of fds): the whole FD set must be maintained, and re-initialized as
select
manipulates it.
Feel free to use it if these aren't relevant for you. Otherwise use poll
/libevent if you're looking for a cross-platform solution, or in some rare-cases epoll
/kqueue
for platform specific optimized solutions.