blob: 98820fb0e57973baaba0d85877e6b1a7949fafdb [file] [log] [blame]
license.botf003cfe2008-08-24 09:55:55 +09001// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
initial.commit3f4a7322008-07-27 06:49:38 +09004
5#include "base/non_thread_safe.h"
6
darin@google.comc18d7ae2008-08-21 18:46:32 +09007#include "base/platform_thread.h"
initial.commit3f4a7322008-07-27 06:49:38 +09008
darin@google.comc18d7ae2008-08-21 18:46:32 +09009// These checks are only done in debug builds.
initial.commit3f4a7322008-07-27 06:49:38 +090010#ifndef NDEBUG
11
darin@google.comc18d7ae2008-08-21 18:46:32 +090012NonThreadSafe::NonThreadSafe()
13 : valid_thread_id_(PlatformThread::CurrentId()) {
initial.commit3f4a7322008-07-27 06:49:38 +090014}
15
16bool NonThreadSafe::CalledOnValidThread() const {
darin@google.comc18d7ae2008-08-21 18:46:32 +090017 return valid_thread_id_ == PlatformThread::CurrentId();
initial.commit3f4a7322008-07-27 06:49:38 +090018}
19
20NonThreadSafe::~NonThreadSafe() {
21 DCHECK(CalledOnValidThread());
22}
23
darin@google.comc18d7ae2008-08-21 18:46:32 +090024#endif // NDEBUG
license.botf003cfe2008-08-24 09:55:55 +090025