Get rid of the data socket completely when data transfer is finished.

Fixes an FTP transaction hang when we wait for server's response
and the server apparently waits for us.

TEST=See bug.
http://crbug.com/21127

Review URL: http://codereview.chromium.org/192042

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25750 0039d316-1c4b-4281-b951-d872f2087c98
parent 53e7aab1
...@@ -981,6 +981,10 @@ int FtpNetworkTransaction::DoDataRead() { ...@@ -981,6 +981,10 @@ int FtpNetworkTransaction::DoDataRead() {
DCHECK_GT(read_data_buf_len_, 0); DCHECK_GT(read_data_buf_len_, 0);
if (data_socket_ == NULL || !data_socket_->IsConnected()) { if (data_socket_ == NULL || !data_socket_->IsConnected()) {
// If we don't destroy the data socket completely, some servers will wait
// for us (http://crbug.com/21127).
data_socket_.reset();
// No more data so send QUIT Command now and wait for response. // No more data so send QUIT Command now and wait for response.
return Stop(OK); return Stop(OK);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment