The select(2) system call is defined as follows in chapter 6.3 of Unix Network Programming (2003) by Stevens, Fenner and Rudoff:
#include <sys/select.h>
#include <sys/time.h>
int select(int maxfdp1, fd_set *readset, fd_set *writeset,
fd_set *exceptset, const struct timeval *timeout);
But none of modern Unixes such as FreeBSD, OpenBSD, NetBSD, Linux, and even the POSIX[1] standard, define the system call as such. However, it is noted in the book that "POSIX specifies the const qualifier". Is it an error in the book? Or, is it because of a historical reason? All systems define pselect(2) to have a constant timeout parameter, though.
http://pubs.opengroup.org/onlinepubs/009695399/functions/pselect.html
The book errata page does not list this as an error: