Qt uses standard sockets too, so if you're just after calling select manually, you can do that if you really want to, however I don't see how your code would be faster than what Qt does (apart the trick Qt does with adding an extra descriptor to the set).
As for your problem... try detecting WHAT causes select() to return (EINTR maybe?).
Bookmarks