Update PlatformThread constructor to take name with absl::string_view
PlatfromThread is used by several TaskQueue implementations that plan
to take it's name as string_view and thus wouldn't guarantee it is 0-terminated.
Bug: webrtc:10191
Change-Id: I7dadb917192257f0185f9cb4f0ec207d7156d3c3
Reviewed-on: https://webrtc-review.googlesource.com/c/118140
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26317}
diff --git a/rtc_base/BUILD.gn b/rtc_base/BUILD.gn
index d5fcd2c..f4766f5 100644
--- a/rtc_base/BUILD.gn
+++ b/rtc_base/BUILD.gn
@@ -272,6 +272,7 @@
":rtc_event",
":thread_checker",
":timeutils",
+ "//third_party/abseil-cpp/absl/strings",
]
}
diff --git a/rtc_base/platform_thread.cc b/rtc_base/platform_thread.cc
index 872ebb6..19da912 100644
--- a/rtc_base/platform_thread.cc
+++ b/rtc_base/platform_thread.cc
@@ -39,10 +39,8 @@
PlatformThread::PlatformThread(ThreadRunFunctionDeprecated func,
void* obj,
- const char* thread_name)
- : run_function_deprecated_(func),
- obj_(obj),
- name_(thread_name ? thread_name : "webrtc") {
+ absl::string_view thread_name)
+ : run_function_deprecated_(func), obj_(obj), name_(thread_name) {
RTC_DCHECK(func);
RTC_DCHECK(name_.length() < 64);
spawned_thread_checker_.DetachFromThread();
@@ -50,7 +48,7 @@
PlatformThread::PlatformThread(ThreadRunFunction func,
void* obj,
- const char* thread_name,
+ absl::string_view thread_name,
ThreadPriority priority /*= kNormalPriority*/)
: run_function_(func), priority_(priority), obj_(obj), name_(thread_name) {
RTC_DCHECK(func);
diff --git a/rtc_base/platform_thread.h b/rtc_base/platform_thread.h
index 79ea7c1..99c5f90 100644
--- a/rtc_base/platform_thread.h
+++ b/rtc_base/platform_thread.h
@@ -16,6 +16,7 @@
#endif
#include <string>
+#include "absl/strings/string_view.h"
#include "rtc_base/constructor_magic.h"
#include "rtc_base/platform_thread_types.h"
#include "rtc_base/thread_checker.h"
@@ -51,10 +52,10 @@
public:
PlatformThread(ThreadRunFunctionDeprecated func,
void* obj,
- const char* thread_name);
+ absl::string_view thread_name);
PlatformThread(ThreadRunFunction func,
void* obj,
- const char* thread_name,
+ absl::string_view thread_name,
ThreadPriority priority = kNormalPriority);
virtual ~PlatformThread();