[MacRuby] #944: MacRuby should throw an IOError exception when calls Socket#listen #setsockopt with closed socket.
MacRuby
ruby-noreply at macosforge.org
Fri Oct 8 06:48:02 PDT 2010
#944: MacRuby should throw an IOError exception when calls Socket#listen
#setsockopt with closed socket.
----------------------------------+-----------------------------------------
Reporter: watson1978@… | Owner: lsansonetti@…
Type: defect | Status: new
Priority: minor | Milestone:
Component: MacRuby | Keywords:
----------------------------------+-----------------------------------------
Test Script:
{{{
#!ruby
require 'socket'
p "** listen"
sock = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sock.close
begin
sock.listen(5)
rescue IOError => err
p err
end
p "** setsockopt"
sock = Socket.new(Socket::AF_INET, Socket::SOCK_STREAM, 0)
sock.close
linger = [0, 0].pack("ii")
begin
sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, linger)
rescue IOError => err
p err
end
}}}
Result:
{{{
$ ruby -v test_socket.rb
ruby 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
"** listen"
#<IOError: closed stream>
"** setsockopt"
#<IOError: closed stream>
$ ruby19 -v test_socket.rb
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
"** listen"
#<IOError: closed stream>
"** setsockopt"
#<IOError: closed stream>
$ macruby -v test_socket.rb
MacRuby 0.8 (ruby 1.9.2) [universal-darwin10.0, x86_64]
"** listen"
/Users/watson/tmp/test_socket.rb:12:in `<main>': Bad file descriptor -
listen(2) (Errno::EBADF)
}}}
--
Ticket URL: <http://www.macruby.org/trac/ticket/944>
MacRuby <http://macruby.org/>
More information about the macruby-tickets
mailing list