summaryrefslogtreecommitdiffstats
path: root/player
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-10-20 00:17:11 +0200
committerwm4 <wm4@nowhere>2014-10-20 00:17:11 +0200
commit600221e723e1918a8ecdc26bcf9c966be16a4068 (patch)
tree2ea6e4fa9a91a3f3031cbf1e9d6cc65b83011022 /player
parent1aae9925858c9463e166045e01ea591986a93375 (diff)
downloadmpv-600221e723e1918a8ecdc26bcf9c966be16a4068.tar.bz2
mpv-600221e723e1918a8ecdc26bcf9c966be16a4068.tar.xz
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.
Diffstat (limited to 'player')
-rw-r--r--player/scripting.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/player/scripting.c b/player/scripting.c
index 935bbd0490..982d64a3cd 100644
--- a/player/scripting.c
+++ b/player/scripting.c
@@ -80,7 +80,7 @@ static void *script_thread(void *p)
struct thread_arg *arg = p;
char name[90];
- snprintf(name, sizeof(name), "script (%s)", arg->fname);
+ snprintf(name, sizeof(name), "lua (%s)", mpv_client_name(arg->client));
mpthread_set_name(name);
if (arg->backend->load(arg->client, arg->fname) < 0)