summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authordarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-29 19:27:49 +0000
committerdarin@google.com <darin@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-08-29 19:27:49 +0000
commit83aad14e14607a1bf1bea7c94d2cf71324b8a2d0 (patch)
tree473ba21deb70bd5a6ea5ee9bf53755e750930bce /net
parentf937fdab0eb469bc99ba79db3e66e30ba5d02fa5 (diff)
downloadchromium_src-83aad14e14607a1bf1bea7c94d2cf71324b8a2d0.zip
chromium_src-83aad14e14607a1bf1bea7c94d2cf71324b8a2d0.tar.gz
chromium_src-83aad14e14607a1bf1bea7c94d2cf71324b8a2d0.tar.bz2
Fix net_unittests hang observed on Vista. It turns out that a subpump was
being run within shell32, which was causing our kHaveWorkMsg to get dispatched. However, because that was occuring outside the context of a MessagePump::Run call, the handler for kHaveWorkMsg was returning early. Unfortunately, this means that it was failing to reset the have_work_ sentinel to 0. Because of that future calls to ScheduleWork would always be a no-op (as they return early when have_work_ is already set to 1). The proper fix is to just re-order the calls so that ProcessPumpReplacementMessage always runs in response to kHaveWorkMsg, but we still suppress calling DoWork until we are inside MessagePump::Run. TBR=rvargas,jar git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1544 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/base/run_all_unittests.cc11
1 files changed, 0 insertions, 11 deletions
diff --git a/net/base/run_all_unittests.cc b/net/base/run_all_unittests.cc
index 7acfa54..f5c1419b 100644
--- a/net/base/run_all_unittests.cc
+++ b/net/base/run_all_unittests.cc
@@ -29,7 +29,6 @@
#include "base/message_loop.h"
#include "base/test_suite.h"
-#include "base/timer.h"
class NetTestSuite : public TestSuite {
public:
@@ -40,13 +39,6 @@ class NetTestSuite : public TestSuite {
TestSuite::Initialize();
message_loop_.reset(new MessageLoopForIO());
-
- // TODO(darin): Remove this god awful, son of a wart toad hack. This timer
- // keeps the MessageLoop pumping, which avoids a hang on Vista. The real
- // fix lies elsewhere, but this is a stop-gap to keep the tests running on
- // Vista in the meantime.
- keep_looping_.Start(
- TimeDelta::FromMilliseconds(100), this, &NetTestSuite::DoNothing);
}
virtual void Shutdown() {
@@ -58,10 +50,7 @@ class NetTestSuite : public TestSuite {
}
private:
- void DoNothing() {}
-
scoped_ptr<MessageLoop> message_loop_;
- base::RepeatingTimer<NetTestSuite> keep_looping_;
};
int main(int argc, char** argv) {