diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 15:45:38 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-13 15:45:38 +0000 |
commit | bf64d1e5c95a7fa9e65395747d2d4da65de0040a (patch) | |
tree | c348ac9d116c26ab1c5de93d42f295a2f6611ee8 /base/thread.h | |
parent | 42b15f33e277b41b5f0d90b1a07967528d0440e7 (diff) | |
download | chromium_src-bf64d1e5c95a7fa9e65395747d2d4da65de0040a.zip chromium_src-bf64d1e5c95a7fa9e65395747d2d4da65de0040a.tar.gz chromium_src-bf64d1e5c95a7fa9e65395747d2d4da65de0040a.tar.bz2 |
Reverting this CL as it causes chrome frame net tests to crash at exit. The crash happens because the IPC channel proxy
code relies on the listener threads message loop being around. This change destroys the message loop when it goes out
of scope leading to the crash.
Revert 44323 - Don't call Thread::CleanUp() before the MessageLoop destruction observers have run.
This is consistent with the comment for Thread::CleanUp(), which says it runs after the message loop has "stopped".
Certain consumers depend on this ordering to avoid accessing variables which are deleted by Thread::CleanUp().
BUG=39723
TEST=ThreadTest.CleanUp
Review URL: http://codereview.chromium.org/1540002
TBR=eroman@chromium.org
Review URL: http://codereview.chromium.org/1528034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44357 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/thread.h')
-rw-r--r-- | base/thread.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/base/thread.h b/base/thread.h index 75ea0b1..1f2690c 100644 --- a/base/thread.h +++ b/base/thread.h @@ -35,7 +35,7 @@ class Thread : PlatformThread::Delegate { // Constructor. // name is a display string to identify the thread. - explicit Thread(const char* name); + explicit Thread(const char *name); // Destroys the thread, stopping it if necessary. // @@ -117,8 +117,7 @@ class Thread : PlatformThread::Delegate { // Called to start the message loop virtual void Run(MessageLoop* message_loop); - // Called just after the message loop ends. At this point, all of the - // MessageLoop::DestructionObservers have already been notified. + // Called just after the message loop ends virtual void CleanUp() {} static void SetThreadWasQuitProperly(bool flag); |