summaryrefslogtreecommitdiffstats
path: root/base
diff options
context:
space:
mode:
authorrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 19:14:34 +0000
committerrsesek@chromium.org <rsesek@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-18 19:14:34 +0000
commit45e7926f368fcf97709fb1abd02dd1a981245802 (patch)
treeb99df85e480580c8ff755d52bf9f1c56e9c5c108 /base
parent54e554f4155c98bdfd4a3efd03eb0164ce3ea873 (diff)
downloadchromium_src-45e7926f368fcf97709fb1abd02dd1a981245802.zip
chromium_src-45e7926f368fcf97709fb1abd02dd1a981245802.tar.gz
chromium_src-45e7926f368fcf97709fb1abd02dd1a981245802.tar.bz2
Temporarily revert 117127 for perf analysis.
BUG=110555 TBR=rsesek@chromium.org Review URL: https://chromiumcodereview.appspot.com/9252014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118118 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base')
-rw-r--r--base/logging.cc21
-rw-r--r--base/threading/platform_thread_posix.cc4
-rw-r--r--base/threading/platform_thread_unittest.cc21
3 files changed, 22 insertions, 24 deletions
diff --git a/base/logging.cc b/base/logging.cc
index 1a51312..149bdda 100644
--- a/base/logging.cc
+++ b/base/logging.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -51,7 +51,6 @@ typedef pthread_mutex_t* MutexHandle;
#include "base/eintr_wrapper.h"
#include "base/string_piece.h"
#include "base/synchronization/lock_impl.h"
-#include "base/threading/platform_thread.h"
#include "base/utf_string_conversions.h"
#include "base/vlog.h"
#if defined(OS_POSIX)
@@ -130,6 +129,22 @@ int32 CurrentProcessId() {
#endif
}
+int32 CurrentThreadId() {
+#if defined(OS_WIN)
+ return GetCurrentThreadId();
+#elif defined(OS_MACOSX)
+ return mach_thread_self();
+#elif defined(OS_LINUX)
+ return syscall(__NR_gettid);
+#elif defined(OS_ANDROID)
+ return gettid();
+#elif defined(OS_NACL)
+ return pthread_self();
+#elif defined(OS_POSIX)
+ return reinterpret_cast<int64>(pthread_self());
+#endif
+}
+
uint64 TickCount() {
#if defined(OS_WIN)
return GetTickCount();
@@ -675,7 +690,7 @@ void LogMessage::Init(const char* file, int line) {
if (log_process_id)
stream_ << CurrentProcessId() << ':';
if (log_thread_id)
- stream_ << base::PlatformThread::CurrentId() << ':';
+ stream_ << CurrentThreadId() << ':';
if (log_timestamp) {
time_t t = time(NULL);
struct tm local_time = {0};
diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc
index 7eda4e9..0196ff2 100644
--- a/base/threading/platform_thread_posix.cc
+++ b/base/threading/platform_thread_posix.cc
@@ -133,9 +133,7 @@ PlatformThreadId PlatformThread::CurrentId() {
// Pthreads doesn't have the concept of a thread ID, so we have to reach down
// into the kernel.
#if defined(OS_MACOSX)
- mach_port_t port = mach_thread_self();
- mach_port_deallocate(mach_task_self(), port);
- return port;
+ return mach_thread_self();
#elif defined(OS_LINUX)
return syscall(__NR_gettid);
#elif defined(OS_ANDROID)
diff --git a/base/threading/platform_thread_unittest.cc b/base/threading/platform_thread_unittest.cc
index e37709a..6bff1d4 100644
--- a/base/threading/platform_thread_unittest.cc
+++ b/base/threading/platform_thread_unittest.cc
@@ -1,8 +1,7 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/compiler_specific.h"
#include "base/threading/platform_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -15,7 +14,7 @@ class TrivialThread : public PlatformThread::Delegate {
public:
TrivialThread() : did_run_(false) {}
- virtual void ThreadMain() OVERRIDE {
+ virtual void ThreadMain() {
did_run_ = true;
}
@@ -57,14 +56,11 @@ class FunctionTestThread : public TrivialThread {
public:
FunctionTestThread() : thread_id_(0) {}
- virtual void ThreadMain() OVERRIDE {
+ virtual void ThreadMain() {
thread_id_ = PlatformThread::CurrentId();
PlatformThread::YieldCurrentThread();
PlatformThread::Sleep(TimeDelta::FromMilliseconds(50));
- // Make sure that the thread ID is the same across calls.
- EXPECT_EQ(thread_id_, PlatformThread::CurrentId());
-
TrivialThread::ThreadMain();
}
@@ -87,9 +83,6 @@ TEST(PlatformThreadTest, Function) {
PlatformThread::Join(handle);
ASSERT_TRUE(thread.did_run());
EXPECT_NE(thread.thread_id(), main_thread_id);
-
- // Make sure that the thread ID is the same across calls.
- EXPECT_EQ(main_thread_id, PlatformThread::CurrentId());
}
TEST(PlatformThreadTest, FunctionTimesTen) {
@@ -107,15 +100,7 @@ TEST(PlatformThreadTest, FunctionTimesTen) {
for (size_t n = 0; n < arraysize(thread); n++) {
ASSERT_TRUE(thread[n].did_run());
EXPECT_NE(thread[n].thread_id(), main_thread_id);
-
- // Make sure no two threads get the same ID.
- for (size_t i = 0; i < n; ++i) {
- EXPECT_NE(thread[i].thread_id(), thread[n].thread_id());
- }
}
-
- // Make sure that the thread ID is the same across calls.
- EXPECT_EQ(main_thread_id, PlatformThread::CurrentId());
}
} // namespace base