summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/data/valgrind/net_unittests.gtest-tsan_win32.txt3
-rw-r--r--net/socket/client_socket_pool_base_unittest.cc9
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.