| Index: base/threading/thread_checker.h
|
| diff --git a/base/threading/thread_checker.h b/base/threading/thread_checker.h
|
| index 33b6764e966b269bfceadeba4ad94b8ce4d0bc32..4386641f70aea84c78208e586ddcf3adf7f761f1 100644
|
| --- a/base/threading/thread_checker.h
|
| +++ b/base/threading/thread_checker.h
|
| @@ -6,7 +6,22 @@
|
| #define BASE_THREADING_THREAD_CHECKER_H_
|
| #pragma once
|
|
|
| -#ifndef NDEBUG
|
| +// Apart from debug builds, we also enable the thread checker in
|
| +// builds with DCHECK_ALWAYS_ON so that trybots and waterfall bots
|
| +// with this define will get the same level of thread checking as
|
| +// debug bots.
|
| +//
|
| +// Note that this does not perfectly match situations where DCHECK is
|
| +// enabled. For example a non-official release build may have
|
| +// DCHECK_ALWAYS_ON undefined (and therefore ThreadChecker would be
|
| +// disabled) but have DCHECKs enabled at runtime.
|
| +#if !defined(NDEBUG) || defined(DCHECK_ALWAYS_ON)
|
| +#define ENABLE_THREAD_CHECKER 1
|
| +#else
|
| +#define ENABLE_THREAD_CHECKER 0
|
| +#endif
|
| +
|
| +#if ENABLE_THREAD_CHECKER
|
| #include "base/threading/thread_checker_impl.h"
|
| #endif
|
|
|
| @@ -46,13 +61,15 @@ class ThreadCheckerDoNothing {
|
| // }
|
| //
|
| // In Release mode, CalledOnValidThread will always return true.
|
| -#ifndef NDEBUG
|
| +#if ENABLE_THREAD_CHECKER
|
| class ThreadChecker : public ThreadCheckerImpl {
|
| };
|
| #else
|
| class ThreadChecker : public ThreadCheckerDoNothing {
|
| };
|
| -#endif // NDEBUG
|
| +#endif // ENABLE_THREAD_CHECKER
|
| +
|
| +#undef ENABLE_THREAD_CHECKER
|
|
|
| } // namespace base
|
|
|
|
|