Okay looking at this futher, I stripped out all the superflous stuff (apologies for not doing that first) and ran the code again. This time it managed 18 iterations before it bombed out. When I remove the req.basic_auth line, the code iterates 77 times before it dies. As an experiment, I checked the latest source out of CVS and compiled it under Cygwin. At the time of writting, the script below has iterated 250 times without a problem. Going to leave it running and see if it simply keeps on going. Rob, puzzeled! <<<<< code >>>>> require 'net/http' # set up connection details for audiotron req = Net::HTTP::Get.new('apigetstatus.asp') address = Net::HTTP.new('atron00427c', 80) req.basic_auth 'admin','admin' response = nil passes = 0 while true puts passes passes += 1 address.start { |http| response = http.request(req) } response = nil sleep 5 end