select() on UDP does not guarantee recvfrom() won't block