From 600221e723e1918a8ecdc26bcf9c966be16a4068 Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 20 Oct 2014 00:17:11 +0200 Subject: osdep: limit thread names to 16 characters It turns out the glibc people are very clever and return an error if the thread name exceeds the maximum supported kernel length, instead of truncating the name. So everyone has to hardcode the currently allowed Linux kernel name length limit, even if it gets extended later. Also the Lua script filenames could get too long; use the client name instead. Another strange thing is that on Linux, unrelated threads "inherit" the name by the thread they were created. This leads to random thread names, because there's not necessarily a strong relation between these threads (e.g. script command leads to filter recreation -> the filter's threads are tagged with the script's thread name). Unfortunate. --- osdep/threads.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'osdep') diff --git a/osdep/threads.c b/osdep/threads.c index c41007b2cb..2a5938cee5 100644 --- a/osdep/threads.c +++ b/osdep/threads.c @@ -46,7 +46,7 @@ int mpthread_mutex_init_recursive(pthread_mutex_t *mutex) void mpthread_set_name(const char *name) { - char tname[90]; + char tname[16]; snprintf(tname, sizeof(tname), "mpv %s", name); #if HAVE_GLIBC_THREAD_NAME pthread_setname_np(pthread_self(), tname); -- cgit v1.2.3