diff options
| author | Erik Gilling <konkers@android.com> | 2009-11-05 15:46:45 -0800 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-11-05 15:46:45 -0800 |
| commit | 9fdf607c20f9610e442baa87cac5479c98f9d200 (patch) | |
| tree | d9b9c74a932146955efbc8d1febcc3b3f09364bb | |
| parent | 879f398a44f8cbb73dec71d8c21931f8a5c46073 (diff) | |
| parent | b63747d4d9d2e26c90a5310c996210e722159d04 (diff) | |
| download | system_core-9fdf607c20f9610e442baa87cac5479c98f9d200.tar.gz system_core-9fdf607c20f9610e442baa87cac5479c98f9d200.tar.bz2 system_core-9fdf607c20f9610e442baa87cac5479c98f9d200.zip | |
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
| -rw-r--r-- | libcutils/process_name.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/libcutils/process_name.c b/libcutils/process_name.c index 17f52e26..b235429d 100644 --- a/libcutils/process_name.c +++ b/libcutils/process_name.c @@ -22,6 +22,10 @@ #include <sys/stat.h> #include <fcntl.h> +#if defined(HAVE_PRCTL) +#include <sys/prctl.h> +#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; |
