mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-15 02:00:24 +00:00
lib: Cleanup thread name setting to happen at start
When we start a thread we always call fpt_run and since the last commit we know os_name is filled with something, therefore we can just set the name on startup. This creates this output now for zebra: sharpd@donna ~/frr2> ps -L -p 25643 PID LWP TTY TIME CMD 25643 25643 ? 00:00:00 zebra 25643 25644 ? 00:00:00 Zebra dplane 25643 25684 ? 00:00:00 zebra_apic sharpd@donna ~/frr2> I removed the abstraction to frr_pthread_set_name because it was snprintf'ing into the same buffer which was the real bug here( the first character of os_name became null). In the next commit I'll remove that api because it is unneeded and was a horrible hack to get this to work for the one place it was wanted. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
b8dccd94f3
commit
6d0a40b5b7
@ -275,8 +275,15 @@ static void *fpt_run(void *arg)
|
||||
|
||||
fpt->master->handle_signals = false;
|
||||
|
||||
if (fpt->os_name[0])
|
||||
frr_pthread_set_name(fpt, NULL, fpt->os_name);
|
||||
#ifdef HAVE_PTHREAD_SETNAME_NP
|
||||
# ifdef GNU_LINUX
|
||||
pthread_setname_np(fpt->thread, fpt->os_name);
|
||||
# else /* NetBSD */
|
||||
pthread_setname_np(fpt->thread, fpt->os_name, NULL);
|
||||
# endif
|
||||
#elif defined(HAVE_PTHREAD_SET_NAME_NP)
|
||||
pthread_set_name_np(fpt->thread, fpt->os_name);
|
||||
#endif
|
||||
|
||||
frr_pthread_notify_running(fpt);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user