From 69094b326c659f5d6d3d20bad0815af9efff3950 Mon Sep 17 00:00:00 2001 From: "tim@chromium.org" Date: Mon, 23 Nov 2009 20:06:28 +0000 Subject: Believe this causes the valgrind linux test failures. Since it is a small change I decided to revert instead of disable the test. Revert 32807 - The async notification via OnReadComplete was still posting a callback through this message loop. This makes it difficult to write tests, as callbacks already scheduled will go in front of the OnReadComplete(). Treat the notifications through OnReadComplete as synchronous always. This doesn't effect existing tests, but makes my new tests possible. TBR=mbelshe BUG=none TEST=this is the test! Review URL: http://codereview.chromium.org/414073 TBR=mbelshe@google.com Review URL: http://codereview.chromium.org/431016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32838 0039d316-1c4b-4281-b951-d872f2087c98 --- net/socket/socket_test_util.cc | 10 +++------- net/socket/socket_test_util.h | 2 -- 2 files changed, 3 insertions(+), 9 deletions(-) (limited to 'net') diff --git a/net/socket/socket_test_util.cc b/net/socket/socket_test_util.cc index 18ece28..ef10f76 100644 --- a/net/socket/socket_test_util.cc +++ b/net/socket/socket_test_util.cc @@ -150,17 +150,13 @@ void MockTCPClientSocket::OnReadComplete(const MockRead& data) { DCHECK_NE(ERR_IO_PENDING, data.result); // Since we've been waiting for data, need_read_data_ should be true. DCHECK(need_read_data_); + // In order to fire the callback, this IO needs to be marked as async. + DCHECK(data.async); read_data_ = data; need_read_data_ = false; - // The caller is simulating that this IO completes right now. Don't - // let CompleteRead() schedule a callback. - read_data_.async = false; - - net::CompletionCallback* callback = pending_callback_; - int rv = CompleteRead(); - RunCallback(callback, rv); + CompleteRead(); } int MockTCPClientSocket::CompleteRead() { diff --git a/net/socket/socket_test_util.h b/net/socket/socket_test_util.h index 96c5ea7..d16dcb4 100644 --- a/net/socket/socket_test_util.h +++ b/net/socket/socket_test_util.h @@ -287,8 +287,6 @@ class MockClientSocket : public net::SSLClientSocket { // If an async IO is pending because the SocketDataProvider returned // ERR_IO_PENDING, then the MockClientSocket waits until this OnReadComplete // is called to complete the asynchronous read operation. - // data.async is ignored, and this read is completed synchronously as - // part of this call. virtual void OnReadComplete(const MockRead& data) = 0; protected: -- cgit v1.1