| Index: src/platform-linux.cc
|
| ===================================================================
|
| --- src/platform-linux.cc (revision 6114)
|
| +++ src/platform-linux.cc (working copy)
|
| @@ -551,9 +551,19 @@
|
|
|
|
|
| Thread::Thread() : ThreadHandle(ThreadHandle::INVALID) {
|
| +#ifdef DEBUG_THREAD_NAMES
|
| + SetName("v8:<unknown>");
|
| +#endif
|
| }
|
|
|
|
|
| +#ifdef DEBUG_THREAD_NAMES
|
| +Thread::Thread(const char* name) : ThreadHandle(ThreadHandle::INVALID) {
|
| + SetName(name);
|
| +}
|
| +#endif
|
| +
|
| +
|
| Thread::~Thread() {
|
| }
|
|
|
| @@ -563,6 +573,9 @@
|
| // This is also initialized by the first argument to pthread_create() but we
|
| // don't know which thread will run first (the original thread or the new
|
| // one) so we initialize it here too.
|
| +#ifdef DEBUG_THREAD_NAMES
|
| + ::prctl(PR_SET_NAME, thread->Name(), 0, 0, 0);
|
| +#endif
|
| thread->thread_handle_data()->thread_ = pthread_self();
|
| ASSERT(thread->IsValid());
|
| thread->Run();
|
| @@ -570,6 +583,14 @@
|
| }
|
|
|
|
|
| +#ifdef DEBUG_THREAD_NAMES
|
| +void Thread::SetName(const char* name) {
|
| + strncpy(name_, name, sizeof(name_));
|
| + name_[sizeof(name_)-1] = '\0';
|
| +}
|
| +#endif
|
| +
|
| +
|
| void Thread::Start() {
|
| pthread_create(&thread_handle_data()->thread_, NULL, ThreadEntry, this);
|
| ASSERT(IsValid());
|
|
|