Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Side by Side Diff: base/threading/platform_thread_freebsd.cc

Issue 1845753006: Don't create redundant ThreadData for Worker Threads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update comment Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/threading/platform_thread.h" 5 #include "base/threading/platform_thread.h"
6 6
7 #include <errno.h> 7 #include <errno.h>
8 #include <sched.h> 8 #include <sched.h>
9 #include <stddef.h> 9 #include <stddef.h>
10 10
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 *priority = ThreadPriority::REALTIME_AUDIO; 58 *priority = ThreadPriority::REALTIME_AUDIO;
59 return true; 59 return true;
60 } 60 }
61 #endif 61 #endif
62 return false; 62 return false;
63 } 63 }
64 64
65 } // namespace internal 65 } // namespace internal
66 66
67 // static 67 // static
68 void PlatformThread::SetName(const std::string& name) { 68 void PlatformThread::SetName(const std::string& name, bool is_worker_thread) {
69 ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name); 69 ThreadIdNameManager::GetInstance()->SetName(CurrentId(), name);
70 tracked_objects::ThreadData::InitializeThreadContext(name); 70 if (!is_worker_thread)
71 tracked_objects::ThreadData::InitializeThreadContext(name);
71 72
72 #if !defined(OS_NACL) 73 #if !defined(OS_NACL)
73 // On FreeBSD we can get the thread names to show up in the debugger by 74 // On FreeBSD we can get the thread names to show up in the debugger by
74 // setting the process name for the LWP. We don't want to do this for the 75 // setting the process name for the LWP. We don't want to do this for the
75 // main thread because that would rename the process, causing tools like 76 // main thread because that would rename the process, causing tools like
76 // killall to stop working. 77 // killall to stop working.
77 if (PlatformThread::CurrentId() == getpid()) 78 if (PlatformThread::CurrentId() == getpid())
78 return; 79 return;
79 setproctitle("%s", name.c_str()); 80 setproctitle("%s", name.c_str());
80 #endif // !defined(OS_NACL) 81 #endif // !defined(OS_NACL)
81 } 82 }
82 83
83 void InitThreading() {} 84 void InitThreading() {}
84 85
85 void TerminateOnThread() {} 86 void TerminateOnThread() {}
86 87
87 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { 88 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
88 #if !defined(THREAD_SANITIZER) 89 #if !defined(THREAD_SANITIZER)
89 return 0; 90 return 0;
90 #else 91 #else
91 // ThreadSanitizer bloats the stack heavily. Evidence has been that the 92 // ThreadSanitizer bloats the stack heavily. Evidence has been that the
92 // default stack size isn't enough for some browser tests. 93 // default stack size isn't enough for some browser tests.
93 return 2 * (1 << 23); // 2 times 8192K (the default stack size on Linux). 94 return 2 * (1 << 23); // 2 times 8192K (the default stack size on Linux).
94 #endif 95 #endif
95 } 96 }
96 97
97 } // namespace base 98 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698