am b63747d4: am f6eba8fa: cutils: make set_process_name set kernel thread name as well

Merge commit 'b63747d4d9d2e26c90a5310c996210e722159d04' into eclair-mr2-plus-aosp

* commit 'b63747d4d9d2e26c90a5310c996210e722159d04':
  cutils: make set_process_name set kernel thread name as well
This commit is contained in:
Erik Gilling 2009-11-05 15:46:45 -08:00 committed by Android Git Automerger
commit 9fdf607c20

View file

@ -22,6 +22,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <fcntl.h> #include <fcntl.h>
#if defined(HAVE_PRCTL)
#include <sys/prctl.h>
#endif
#define PROCESS_NAME_DEVICE "/sys/qemu_trace/process_name" #define PROCESS_NAME_DEVICE "/sys/qemu_trace/process_name"
static const char* process_name = "unknown"; 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. // 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); strcpy(copy, new_name);
process_name = (const char*) copy; 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 we know we are not running in the emulator, then return.
if (running_in_emulator == 0) { if (running_in_emulator == 0) {
return; return;