Fix POSIX timer thread naming.
Spencer Low points out that we never actually set a name because the constant part of the string was longer than the kernel's maximum, and the kernel rejects long names rather than truncate. Shorten the fixed part of the string while still keeping it meaningful. 9999 POSIX timers should be enough for any process... Bug: https://code.google.com/p/android/issues/detail?id=170089 Change-Id: Ic05f07584c1eac160743519091a540ebbf8d7eb1
This commit is contained in:
@@ -174,10 +174,10 @@ int timer_create(clockid_t clock_id, sigevent* evp, timer_t* timer_id) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
// Give the thread a meaningful name.
|
||||
// Give the thread a specific meaningful name.
|
||||
// It can't do this itself because the kernel timer isn't created until after it's running.
|
||||
char name[32];
|
||||
snprintf(name, sizeof(name), "POSIX interval timer %d", to_kernel_timer_id(timer));
|
||||
char name[16]; // 16 is the kernel-imposed limit.
|
||||
snprintf(name, sizeof(name), "POSIX timer %d", to_kernel_timer_id(timer));
|
||||
pthread_setname_np(timer->callback_thread, name);
|
||||
|
||||
*timer_id = timer;
|
||||
|
Reference in New Issue
Block a user