зеркало из https://github.com/github/ruby.git
Shutdown gracefully.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
03570f8091
Коммит
d795f2d1a8
|
@ -433,6 +433,8 @@ module Net
|
|||
end
|
||||
conn = BufferedSocket.new(sock.accept)
|
||||
conn.read_timeout = @read_timeout
|
||||
sock.shutdown(Socket::SHUT_WR)
|
||||
sock.read rescue nil
|
||||
sock.close
|
||||
end
|
||||
return conn
|
||||
|
@ -487,6 +489,9 @@ module Net
|
|||
break if data == nil
|
||||
yield(data)
|
||||
end
|
||||
conn.shutdown(Socket::SHUT_WR)
|
||||
conn.read_timeout = 1
|
||||
conn.read
|
||||
conn.close
|
||||
voidresp
|
||||
end
|
||||
|
@ -508,6 +513,9 @@ module Net
|
|||
break if line == nil
|
||||
yield(line.sub(/\r?\n\z/, ""), !line.match(/\n\z/).nil?)
|
||||
end
|
||||
conn.shutdown(Socket::SHUT_WR)
|
||||
conn.read_timeout = 1
|
||||
conn.read
|
||||
conn.close
|
||||
voidresp
|
||||
end
|
||||
|
|
|
@ -271,6 +271,8 @@ class FTPTest < Test::Unit::TestCase
|
|||
end
|
||||
conn.print(l, "\r\n")
|
||||
end
|
||||
conn.shutdown(Socket::SHUT_WR)
|
||||
conn.read
|
||||
conn.close
|
||||
sock.print("226 Directory send OK.\r\n")
|
||||
}
|
||||
|
@ -398,6 +400,7 @@ class FTPTest < Test::Unit::TestCase
|
|||
buf << s
|
||||
end
|
||||
end
|
||||
assert_equal(1024, buf.bytesize)
|
||||
assert_equal(binary_data[0, 1024], buf)
|
||||
assert_match(/\APORT /, commands.shift)
|
||||
assert_equal("RETR foo\r\n", commands.shift)
|
||||
|
@ -434,6 +437,8 @@ class FTPTest < Test::Unit::TestCase
|
|||
sleep(0.1)
|
||||
conn.print(s)
|
||||
end
|
||||
conn.shutdown(Socket::SHUT_WR)
|
||||
conn.read
|
||||
conn.close
|
||||
sock.print("226 Transfer complete.\r\n")
|
||||
}
|
||||
|
@ -450,6 +455,7 @@ class FTPTest < Test::Unit::TestCase
|
|||
ftp.retrbinary("RETR foo", 1024) do |s|
|
||||
buf << s
|
||||
end
|
||||
assert_equal(binary_data.bytesize, buf.bytesize)
|
||||
assert_equal(binary_data, buf)
|
||||
assert_match(/\APORT /, commands.shift)
|
||||
assert_equal("RETR foo\r\n", commands.shift)
|
||||
|
|
Загрузка…
Ссылка в новой задаче