From e0b87aa21c53a58a12279ffaff1d93309cc77b28 Mon Sep 17 00:00:00 2001 From: "rtenneti@google.com" <rtenneti@google.com@0039d316-1c4b-4281-b951-d872f2087c98> Date: Mon, 23 Jul 2012 21:21:23 +0000 Subject: Added unique function names (IOThreadRun, DBThreadRun, etc) which make it possible to tell the thread name in crash dumps from the call stack. Added a volatile automatic variable to avoid global optimizers optimizing the function. This change would help us to triage ThreadWatcher crashes for IO thread. It would also help in debugging crashes. R=sky, jar Review URL: https://chromiumcodereview.appspot.com/10796079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147949 0039d316-1c4b-4281-b951-d872f2087c98 --- content/browser/browser_thread_impl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'content/browser/browser_thread_impl.h') diff --git a/content/browser/browser_thread_impl.h b/content/browser/browser_thread_impl.h index eb883ed..9eaeb68 100644 --- a/content/browser/browser_thread_impl.h +++ b/content/browser/browser_thread_impl.h @@ -27,6 +27,7 @@ class CONTENT_EXPORT BrowserThreadImpl protected: virtual void Init() OVERRIDE; + virtual void Run(MessageLoop* message_loop) OVERRIDE; virtual void CleanUp() OVERRIDE; private: @@ -35,6 +36,17 @@ class CONTENT_EXPORT BrowserThreadImpl // the API cleaner. Therefore make BrowserThread a friend class. friend class BrowserThread; + // The following are unique function names that makes it possible to tell + // the thread id from the callstack alone in crash dumps. + void UIThreadRun(MessageLoop* message_loop); + void DBThreadRun(MessageLoop* message_loop); + void WebKitThreadRun(MessageLoop* message_loop); + void FileThreadRun(MessageLoop* message_loop); + void FileUserBlockingThreadRun(MessageLoop* message_loop); + void ProcessLauncherThreadRun(MessageLoop* message_loop); + void CacheThreadRun(MessageLoop* message_loop); + void IOThreadRun(MessageLoop* message_loop); + static bool PostTaskHelper( BrowserThread::ID identifier, const tracked_objects::Location& from_here, -- cgit v1.1