Mercurial > hg > graal-compiler
diff src/os/linux/vm/os_linux.cpp @ 14704:b51e29501f30
Merged with jdk9/dev/hotspot changeset 9486a41de3b7
author | twisti |
---|---|
date | Tue, 18 Mar 2014 20:19:10 -0700 |
parents | d8041d695d19 d72cee0607a3 |
children | 92aa6797d639 |
line wrap: on
line diff
--- a/src/os/linux/vm/os_linux.cpp Thu Mar 20 22:30:26 2014 +0100 +++ b/src/os/linux/vm/os_linux.cpp Tue Mar 18 20:19:10 2014 -0700 @@ -5284,7 +5284,6 @@ static jlong slow_thread_cpu_time(Thread *thread, bool user_sys_cpu_time) { static bool proc_task_unchecked = true; - static const char *proc_stat_path = "/proc/%d/stat"; pid_t tid = thread->osthread()->thread_id(); char *s; char stat[2048]; @@ -5297,6 +5296,8 @@ long ldummy; FILE *fp; + snprintf(proc_name, 64, "/proc/%d/stat", tid); + // The /proc/<tid>/stat aggregates per-process usage on // new Linux kernels 2.6+ where NPTL is supported. // The /proc/self/task/<tid>/stat still has the per-thread usage. @@ -5308,12 +5309,11 @@ proc_task_unchecked = false; fp = fopen("/proc/self/task", "r"); if (fp != NULL) { - proc_stat_path = "/proc/self/task/%d/stat"; + snprintf(proc_name, 64, "/proc/self/task/%d/stat", tid); fclose(fp); } } - sprintf(proc_name, proc_stat_path, tid); fp = fopen(proc_name, "r"); if ( fp == NULL ) return -1; statlen = fread(stat, 1, 2047, fp);