am 9a2744df: Merge "Fix POSIX timer thread naming."
* commit '9a2744df301c509ea48361016ab441c792ec6d5a': Fix POSIX timer thread naming.
This commit is contained in:
commit
ea46b36f89
@ -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;
|
||||
|
@ -404,7 +404,9 @@ TEST(pthread, pthread_sigmask) {
|
||||
}
|
||||
|
||||
TEST(pthread, pthread_setname_np__too_long) {
|
||||
ASSERT_EQ(ERANGE, pthread_setname_np(pthread_self(), "this name is far too long for linux"));
|
||||
// The limit is 15 characters --- the kernel's buffer is 16, but includes a NUL.
|
||||
ASSERT_EQ(0, pthread_setname_np(pthread_self(), "123456789012345"));
|
||||
ASSERT_EQ(ERANGE, pthread_setname_np(pthread_self(), "1234567890123456"));
|
||||
}
|
||||
|
||||
TEST(pthread, pthread_setname_np__self) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user