From a58859aad1e38fe4dffd8825ae8c513bdb8dcdda Mon Sep 17 00:00:00 2001 From: Mark Date: Fri, 17 Jan 2020 22:57:06 +0200 Subject: [PATCH] Automatically assign thread names when running execve() --- sys/amd64/sys/thread.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sys/amd64/sys/thread.c b/sys/amd64/sys/thread.c index b93009b..e538cc0 100644 --- a/sys/amd64/sys/thread.c +++ b/sys/amd64/sys/thread.c @@ -272,6 +272,15 @@ int sys_execve(const char *filename, const char *const argv[], const char *const return res; } + const char *e = strrchr(filename, '/'); + const char *name = e + 1; + if (!e) { + name = filename; + } + size_t name_len = MIN(strlen(name), sizeof(thr->name) - 1); + strncpy(thr->name, name, name_len); + thr->name[name_len] = 0; + _assert(argv); // Copy argp page