bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 4/9] exec: abbreviate the task name if necessary


From: Justus Winter
Subject: [PATCH 4/9] exec: abbreviate the task name if necessary
Date: Mon, 28 Apr 2014 12:19:59 +0200

* exec/exec.c (do_exec): If the formatted task name exceeds
TASK_NAME_SIZE, abbreviate it.
---
 exec/exec.c | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/exec/exec.c b/exec/exec.c
index 935762e..b068f5e 100644
--- a/exec/exec.c
+++ b/exec/exec.c
@@ -1168,9 +1168,20 @@ do_exec (file_t file,
        goto out;
 
       char *name;
-      if (asprintf (&name, "%s(%d)", argv, pid) > 0)
+      int size = asprintf (&name, "%s(%d)", argv, pid);
+      if (size > 0)
        {
-         task_set_name (newtask, name);
+/* This is an internal implementational detail of the gnumach kernel.  */
+#define TASK_NAME_SIZE 32
+         if (size < TASK_NAME_SIZE)
+           task_set_name (newtask, name);
+         else
+           {
+             char *abbr = name + size - TASK_NAME_SIZE + 1;
+             abbr[0] = abbr[1] = abbr[2] = '.';
+             task_set_name (newtask, abbr);
+           }
+#undef TASK_NAME_SIZE
          free (name);
        }
     }
-- 
1.9.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]