select(2) システム コールは、Stevens、Fenner、および Rudoff による Unix Network Programming (2003) の第 6.3 章で次のように定義されています。
#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);
しかし、FreeBSD、OpenBSD、NetBSD、Linux、さらには POSIX[1] 標準などの最新の Unix では、システム コールがそのように定義されていません。ただし、「POSIXはconst修飾子を指定する」と本に記載されています。本の間違いですか?それとも、歴史的な理由によるものですか?ただし、すべてのシステムで pselect(2) が一定のタイムアウト パラメータを持つように定義されています。
http://pubs.opengroup.org/onlinepubs/009695399/functions/pselect.html
本の正誤表ページには、これがエラーとして記載されていません。