Re: [RFC] set the thread name

From: Bert Wesarg
Date: Tue Jun 16 2009 - 15:14:38 EST


Hi,

On Tue, Jun 16, 2009 at 20:39, Stefani Seibold<stefani@xxxxxxxxxxx> wrote:
> Currently it is not easy to identify a thread in linux, because there is
> no thread name like in some other OS.
>
> If there were are thread name then we could extend a kernel segv message
> and the /proc/<pid>/task/<tid>/... entries by a TName value like this:
prctl(PR_SET_NAME, ...) works perfectly here.

Bert

/* -*- c -*- */

#define _GNU_SOURCE
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
#include <math.h>
#include <pthread.h>
#include <sys/prctl.h>

void *
thread(void *arg)
{
unsigned long i = (unsigned long)arg;
char comm[16];
snprintf(comm, sizeof comm, "task %02lu", i);
prctl(PR_SET_NAME, comm, 0l, 0l, 0l);

sleep(10);

return NULL;
}

int
main(int ac, char *av[])
{
pthread_t thr;
unsigned long i, n = 10;
char comm[16];

printf("%u\n", getpid());
sleep(5);
snprintf(comm, sizeof comm, "master");
prctl(PR_SET_NAME, comm, 0l, 0l, 0l);
sleep(5);

for (i = 0; i < n; i++)
pthread_create(&thr, NULL, thread, (void *)i);

pthread_join(thr, NULL);

return 0;
}

>
> Greetings,
> Stefani
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html
> Please read the FAQ at Âhttp://www.tux.org/lkml/
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/