summaryrefslogtreecommitdiff
path: root/src/prof_sys.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/prof_sys.c')
-rw-r--r--src/prof_sys.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/prof_sys.c b/src/prof_sys.c
index d2487fd6..3f7196f8 100644
--- a/src/prof_sys.c
+++ b/src/prof_sys.c
@@ -462,12 +462,17 @@ prof_sys_thread_name_read_t *JET_MUTABLE prof_sys_thread_name_read =
void
prof_sys_thread_name_fetch(tsd_t *tsd) {
-#define THREAD_NAME_MAX_LEN 16
- char buf[THREAD_NAME_MAX_LEN];
- if (!prof_sys_thread_name_read(buf, THREAD_NAME_MAX_LEN)) {
- prof_thread_name_set_impl(tsd, buf);
+ prof_tdata_t *tdata = prof_tdata_get(tsd, true);
+ if (tdata == NULL) {
+ return;
}
-#undef THREAD_NAME_MAX_LEN
+
+ if (prof_sys_thread_name_read(tdata->thread_name,
+ PROF_THREAD_NAME_MAX_LEN) != 0) {
+ prof_thread_name_clear(tdata);
+ }
+
+ tdata->thread_name[PROF_THREAD_NAME_MAX_LEN - 1] = '\0';
}
int