You might also try a select(0, NULL, NULL, NULL, timeout) where timeout is set to 15ms. I don't know that that would work better and I don't have a Linux machine's manpages here to see if there are bugs listed there, either. But it's worth a shot, potentially.
_________________________
Bitt Faulk