From: "H.Yamamoto" Date: 2005-07-22T00:24:48+09:00 Subject: Re: [ ruby-Bugs-2131 ] ruby ( v183) bcc32: using Socket.new with timeout -> files not closed > I use the mswin build for Net library work. > Sockets have never worked for me on bcc build. > > ** ruby 1.9.0 (2005-07-16) [i586-bccwin32] > Example: > > #---------- > require 'net/http' > p ['Net::HTTP', Net::HTTP::Revision, Net::HTTP::HTTPVersion] > > h = Net::HTTP.new('www.rubyist.net') > resp = h.get('/index.html', nil) > puts resp.body > #---------- > > ["Net::HTTP", "1.126", "1.1"] > D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/protocol.rb:70:in `close': Bad file number (Errno::EBADF) > from D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/protocol.rb:70:in `close' > from D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/http.rb:552:in `do_finish' > from D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/http.rb:492:in `start' > from D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/http.rb:982:in `request' > from D:/RUBY/SRC_CVSINST/lib/ruby/1.9/net/http.rb:716:in `get' > from C:/TEMP/rbD115.TMP:5 Umm, it works for me... E:\ruby-cvs\bcc32>ruby19 -v s:\a.rb ruby 1.9.0 (2005-07-20) [i386-bccwin32] ["Net::HTTP", "1.126", "1.1"] www.rubyist.net

Welcome to rubyist.net!

Yes, as you said, bccwin32 had ever this problem because borland RTL were "statically" linked to each ruby interpreter and socket.so. But it should work for now because RTL are "dynamically" linked from this change. http://www.ruby-lang.org/cgi-bin/cvsweb.cgi/ruby/bcc32/Makefile.sub.diff?r1=1.65;r2=1.66;f=h Can you try clean build? "-tWR -tWC" should be there. # And be sure not to mix different borland dll. # For example, if interpreter is linked to C++Builder5 and socket.so is # linked to C++Builder6, it won't work. E:\ruby-cvs\bcc32>..\ruby\bcc32\configure.bat MAKE Version 5.2 Copyright (c) 1987, 2000 Borland MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Creating Makefile type "`make'" to make ruby for bccwin32. E:\ruby-cvs\bcc32>make MAKE Version 5.2 Copyright (c) 1987, 2000 Borland config.h updated. Creating config.status bcc32 -q -tWR -tWC -O -6 -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi -DRUBY_EXPORT -I. -I. -I../ruby/ -I../ruby/missing -c ..\ruby\array.c ..\ruby\array.c: bcc32 -q -tWR -tWC -O -6 -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi -DRUBY_EXPORT -I. -I. -I../ruby/ -I../ruby/missing -c ..\ruby\ascii.c ..\ruby\ascii.c: bcc32 -q -tWR -tWC -O -6 -w- -wsus -wcpt -wdup -wext -wrng -wrpt -wzdi -DRUBY_EXPORT -I. -I. -I../ruby/ -I../ruby/missing -c ..\ruby\bignum.c