Actions
Backport #2473
closedHandle leak in TCPServer on Windows
Status:
Closed
Assignee:
Description
=begin
- Run the following program on Windows (XP, haven't tried others) using Ruby 1.9.1p0:
require 'socket'
server = TCPServer.open(2000)
while (true)
socket = server.accept
cmd = socket.readline.chomp
puts cmd
socket.close
end
-
Open the task manager, add "Handles" to the columns being viewed, and observe how many handles are being used.
-
Open an irb window and execute the following lines:
s = TCPSocket.new('localhost', 2000)
s.puts('foo')
-
In the task manager, note that the number of handles used by the first process has increased. Every time you connect, three handles are added; when you write and the socket is closed, only two are released.
-
Try the same instructions using Ruby 1.8.2. All the handles are released, and there is no leak.
=end
Actions
Like0
Like0Like0Like0Like0Like0