Justus Winter, le Mon 28 Apr 2014 12:19:59 +0200, a écrit :
> * exec/exec.c (do_exec): If the formatted task name exceeds
> TASK_NAME_SIZE, abbreviate it.
Ack.
> ---
> 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
>
--
Samuel
<y> le y est un animal discret se logeant facilement dans un terminal
*** c has changed the topic on channel #ens-mim to ne pas jeter de cacahuetes
aux ys, svp
-+- #ens-mim - n'oubliez pas le guide -+-