Today's gratuitous portability annoyance: MacOS's select() returns -1 EINVAL if you pass it a timeout value greater than 10^8 seconds.
It accepts .tv_sec = 100000000, but not .tv_sec = 100000001.
(Some old versions of OpenBSD had the same limitation, with the same cutoff point, but it's fixed now.)
Who are these people who believe that three years and a half is equivalent to infinity?
(edit: can't this !@#$%^&* markdown do superscript correctly?)