From f6eba8fac812c70087af225f207f2d924f6e1ffa Mon Sep 17 00:00:00 2001 From: Erik Gilling Date: Tue, 27 Oct 2009 21:27:33 -0700 Subject: [PATCH] cutils: make set_process_name set kernel thread name as well Signed-off-by: Erik Gilling --- libcutils/process_name.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libcutils/process_name.c b/libcutils/process_name.c index 17f52e269..b235429d0 100644 --- a/libcutils/process_name.c +++ b/libcutils/process_name.c @@ -22,6 +22,10 @@ #include #include +#if defined(HAVE_PRCTL) +#include +#endif + #define PROCESS_NAME_DEVICE "/sys/qemu_trace/process_name" static const char* process_name = "unknown"; @@ -35,10 +39,19 @@ void set_process_name(const char* new_name) { } // We never free the old name. Someone else could be using it. - char* copy = (char*) malloc(strlen(new_name) + 1); + int len = strlen(new_name); + char* copy = (char*) malloc(len + 1); strcpy(copy, new_name); process_name = (const char*) copy; +#if defined(HAVE_PRCTL) + if (len < 16) { + prctl(PR_SET_NAME, (unsigned long) new_name, 0, 0, 0); + } else { + prctl(PR_SET_NAME, (unsigned long) new_name + len - 15, 0, 0, 0); + } +#endif + // If we know we are not running in the emulator, then return. if (running_in_emulator == 0) { return;