Backport #2473
closedHandle leak in TCPServer on Windows
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
Updated by usa (Usaku NAKAMURA) almost 15 years ago
- Status changed from Open to Assigned
- Assignee set to yugui (Yuki Sonoda)
=begin
It's fixed on trunk, in r25569.
Yugui, can you backport the first hunk of the changeset?
=end
Updated by yugui (Yuki Sonoda) almost 15 years ago
- Category set to core
- Assignee changed from yugui (Yuki Sonoda) to usa (Usaku NAKAMURA)
=begin
I did not merge r24218 into ruby_1_9_1, so r25569 is not applicable.
Is the reported problem still reproducible? < unak
=end
Updated by usa (Usaku NAKAMURA) almost 15 years ago
=begin
Sorry, I've mistaken.
Please backport the first hunk of r25611.
=end
Updated by usa (Usaku NAKAMURA) over 14 years ago
- Assignee changed from usa (Usaku NAKAMURA) to yugui (Yuki Sonoda)
=begin
=end
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Description updated (diff)
- Status changed from Assigned to Closed