Many years ago I wrote an article about this very issue (because I ran into it while debugging a service outage at 5 AM, which turned out to be something using select() when it shouldn't have): http://beesbuzz.biz/code/5739-The-problem-with-select-vs-pol...