Comments and more improvement.

more logic to not do extra processing. A lot more comments to explain whats happening.
Ya. so select will either halt the thread for 1 second or continue if a file descriptor is ready.

So worst case if no tile url is responding it will timeout in 1 second... and try again .. I can remove the try again portion and return false ...