Even when dealing with non-blocking sockets, it is advantageous to be able to check if a function would block or return P_ERROR_IO_WOULD_BLOCK. If a select() variant is unavailable, the alternative is to poll each IO function on each socket manually, which adds overhead to applications when they could be leveraging knowledge that the kernel already has.