diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/data/valgrind/net_unittests.gtest-tsan_win32.txt | 3 | ||||
-rw-r--r-- | net/socket/client_socket_pool_base_unittest.cc | 9 |
2 files changed, 8 insertions, 4 deletions
diff --git a/net/data/valgrind/net_unittests.gtest-tsan_win32.txt b/net/data/valgrind/net_unittests.gtest-tsan_win32.txt index 0fc6d3c..9994b31 100644 --- a/net/data/valgrind/net_unittests.gtest-tsan_win32.txt +++ b/net/data/valgrind/net_unittests.gtest-tsan_win32.txt @@ -11,9 +11,6 @@ URLRequestTest.QuitTest # See http://crbug.com/46647 DiskCacheBackendTest.* -# See http://crbug.com/47836 -ClientSocketPoolBaseTest.CancelPendingSocketAtSocketLimit - ######################################### # These tests fail if you don't have our SSL certificate installed. # Please see http://dev.chromium.org/developers/testing#TOC-SSL-tests diff --git a/net/socket/client_socket_pool_base_unittest.cc b/net/socket/client_socket_pool_base_unittest.cc index a936c8b..03c7879 100644 --- a/net/socket/client_socket_pool_base_unittest.cc +++ b/net/socket/client_socket_pool_base_unittest.cc @@ -117,6 +117,10 @@ class TestConnectJob : public ConnectJob { kMockAdvancingLoadStateJob, }; + // The kMockPendingJob uses a slight delay before allowing the connect + // to complete. + static const int kPendingConnectDelay = 2; + TestConnectJob(JobType job_type, const std::string& group_name, const TestClientSocketPoolBase::Request& request, @@ -169,7 +173,7 @@ class TestConnectJob : public ConnectJob { &TestConnectJob::DoConnect, true /* successful */, true /* async */), - 2); + kPendingConnectDelay); return ERR_IO_PENDING; case kMockPendingFailingJob: set_load_state(LOAD_STATE_CONNECTING); @@ -884,6 +888,9 @@ TEST_F(ClientSocketPoolBaseTest, CancelPendingSocketAtSocketLimit) { // Cancel the stalled request. handles[0].Reset(); + // Wait for the pending job to be guaranteed to complete. + PlatformThread::Sleep(TestConnectJob::kPendingConnectDelay * 2); + MessageLoop::current()->RunAllPending(); // Now we should have a connect job. |