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

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: Created 4 years, 8 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 tracked_objects::ThreadData::InitializeThreadContext(name, is_worker_thread);
71 71
72 #if !defined(OS_NACL) 72 #if !defined(OS_NACL)
73 // On FreeBSD we can get the thread names to show up in the debugger by 73 // 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 74 // 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 75 // main thread because that would rename the process, causing tools like
76 // killall to stop working. 76 // killall to stop working.
77 if (PlatformThread::CurrentId() == getpid()) 77 if (PlatformThread::CurrentId() == getpid())
78 return; 78 return;
79 setproctitle("%s", name.c_str()); 79 setproctitle("%s", name.c_str());
80 #endif // !defined(OS_NACL) 80 #endif // !defined(OS_NACL)
81 } 81 }
82 82
83 void InitThreading() {} 83 void InitThreading() {}
84 84
85 void TerminateOnThread() {} 85 void TerminateOnThread() {}
86 86
87 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) { 87 size_t GetDefaultThreadStackSize(const pthread_attr_t& attributes) {
88 #if !defined(THREAD_SANITIZER) 88 #if !defined(THREAD_SANITIZER)
89 return 0; 89 return 0;
90 #else 90 #else
91 // ThreadSanitizer bloats the stack heavily. Evidence has been that the 91 // ThreadSanitizer bloats the stack heavily. Evidence has been that the
92 // default stack size isn't enough for some browser tests. 92 // default stack size isn't enough for some browser tests.
93 return 2 * (1 << 23); // 2 times 8192K (the default stack size on Linux). 93 return 2 * (1 << 23); // 2 times 8192K (the default stack size on Linux).
94 #endif 94 #endif
95 } 95 }
96 96
97 } // namespace base 97 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698