Project

General

Profile

Actions

Bug #1753

closed

non success open client socket not detected on windows

Added by raubarede (regis d'aubarede) over 15 years ago. Updated over 5 years ago.

Status:
Closed
Target version:
-
ruby -v:
1.9.1
[ruby-core:24234]

Description

=begin
Here the code and execution with different ruby version :

D:\usr\ruby\local\dsd17>type z_essai.rb
require 'socket'

p ""
p [RUBY_PLATFORM,RUBY_VERSION,RUBY_RELEASE_DATE]
p "
"
p "Before openning client socket on non existant server"
begin
TCPSocket.open("localhost",4444) { |io| p [io,io.closed?] }
p "after openning client socket on non existant server"
rescue
p "good, non connection is detected"
p $!
end
p "*************************************************"

D:\usr\ruby\local\dsd17>ruby z_essai.rb
""
["i386-mswin32", "1.8.6", "2007-03-13"]
"
"
"Before openning client socket on non existant server"
"good, non connection is detected"
#<Errno::EBADF: Bad file descriptor - connect(2)>
"*************************************************"

D:\usr\ruby\local\dsd17>jruby z_essai.rb
""
["java", "1.8.6", "2009-06-15"]
"
"
"Before openning client socket on non existant server"
"good, non connection is detected"
#<Errno::ECONNREFUSED: Connection refused - Connection refused>
"*************************************************"

D:\usr\ruby\local\dsd17>ruby19 z_essai.rb
""
["i386-mswin32", "1.9.1", "2009-01-30"]
"
"
"Before openning client socket on non existant server"
[#TCPSocket:0xabf914, false]
"after openning client socket on non existant server"
"*************************************************"

D:\usr\ruby\local\dsd17>
=end

Actions #1

Updated by rogerdpack (Roger Pack) over 15 years ago

=begin
I get this too [for mingw 1.9]. Odd.
=r
=end

Actions #2

Updated by phasis68 (Heesob Park) over 15 years ago

=begin
This patch will fix the problem.

--- win32.c 2009-01-16 00:37:20.000000000 +0900
+++ win32.c.new 2009-07-10 23:34:06.000000000 +0900
@@ -2397,6 +2397,7 @@
r = WSAGetLastError();
if (r != WSAEWOULDBLOCK) {
errno = map_errno(r);

  •           r = -1;
          }
          else {
              errno = EINPROGRESS;
    

=end

Actions #3

Updated by phasis68 (Heesob Park) over 15 years ago

=begin
This is the bug of ruby 1.9.x not 1.8.7.
Is there any reason not applying this patch?

=end

Actions #4

Updated by shyouhei (Shyouhei Urabe) over 15 years ago

  • Status changed from Open to Assigned
  • Assignee set to wyhaines (Kirk Haines)

=begin
I heard that this bug has been fixed for trunk and ruby_1_8. I've also backported that fix to 1.8.7.
Sorry for not checking other branches e.g, 1.8.6. Assigning to Kirk Haines for the moment.
=end

Actions #5

Updated by jeremyevans0 (Jeremy Evans) over 5 years ago

  • Tracker changed from Backport to Bug
  • Project changed from Backport186 to Ruby master
  • Description updated (diff)
  • Status changed from Assigned to Closed
  • ruby -v set to 1.9.1
  • Backport set to 2.5: UNKNOWN, 2.6: UNKNOWN
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0