From f02143b8f2dbd125e40c13aa537c6a6a639299e7 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 30 May 2016 22:31:38 +0900 Subject: [PATCH] Clear the buffers before notifying the other end of the pipe --- atom/browser/net/url_request_fetch_job.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/atom/browser/net/url_request_fetch_job.cc b/atom/browser/net/url_request_fetch_job.cc index 0f293c2..8279d09 100644 --- a/atom/browser/net/url_request_fetch_job.cc +++ b/atom/browser/net/url_request_fetch_job.cc @@ -183,8 +183,8 @@ int URLRequestFetchJob::DataAvailable(net::IOBuffer* buffer, // Write data to the pending buffer and clear them after the writing. int bytes_read = BufferCopy(buffer, num_bytes, pending_buffer_.get(), pending_buffer_size_); - ReadRawDataComplete(bytes_read); ClearPendingBuffer(); + ReadRawDataComplete(bytes_read); return bytes_read; } @@ -210,8 +210,9 @@ int URLRequestFetchJob::ReadRawData(net::IOBuffer* dest, int dest_size) { // Read from the write buffer and clear them after reading. int bytes_read = BufferCopy(write_buffer_.get(), write_num_bytes_, dest, dest_size); - write_callback_.Run(bytes_read); + net::CompletionCallback write_callback = write_callback_; ClearWriteBuffer(); + write_callback.Run(bytes_read); return bytes_read; } -- 2.7.4