Index: src/platform-linux.cc |
=================================================================== |
--- src/platform-linux.cc (revision 6139) |
+++ src/platform-linux.cc (working copy) |
@@ -551,9 +551,15 @@ |
Thread::Thread() : ThreadHandle(ThreadHandle::INVALID) { |
+ set_name("v8:<unknown>"); |
} |
+Thread::Thread(const char* name) : ThreadHandle(ThreadHandle::INVALID) { |
+ set_name(name); |
+} |
+ |
+ |
Thread::~Thread() { |
} |
@@ -563,6 +569,7 @@ |
// 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. |
+ ::prctl(PR_SET_NAME, thread->name(), 0, 0, 0); |
thread->thread_handle_data()->thread_ = pthread_self(); |
ASSERT(thread->IsValid()); |
thread->Run(); |
@@ -570,6 +577,12 @@ |
} |
+void Thread::set_name(const char* name) { |
+ strncpy(name_, name, sizeof(name_)); |
+ name_[sizeof(name_) - 1] = '\0'; |
+} |
+ |
+ |
void Thread::Start() { |
pthread_create(&thread_handle_data()->thread_, NULL, ThreadEntry, this); |
ASSERT(IsValid()); |