>>   begin
>>     timeout(5) do
>>       s = TCPSocket.new(host, port)
>>     end
>>   rescue TimeoutError
>>     puts "failed initial connect, retrying..."
>>     retry
>>   rescue
>>     puts "failed #{$!}... retrying"
>>     retry
>>   end
>>   # s is no longer available here.

DAB> Wouldn't it work just to say:

DAB>   s = nil

DAB> before the block?

It sure did!

thanks,
-joe