プロフィール

kosaki

Author:kosaki
連絡先はコチラ

ブログ検索
最近の記事
最近のコメント
最近のトラックバック
リンク
カテゴリー
月別アーカイブ
RSSフィード
FC2ブログランキング

スポンサーサイト このエントリーをはてなブックマークに追加

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | 【--------(--) --:--:--】 | Trackback(-) | Comments(-)

スレッドに名前をつける方法 このエントリーをはてなブックマークに追加

Shinh先生に繰り返し要望されていたスレッドに名前をつける機能だが、実はすでに実装済みだったらしい。

prctl(PR_SET_NAME) するだけ。
アルェーーー



Date: Tue, 16 Jun 2009 21:14:26 +0200
From: Bert Wesarg
To: Stefani Seibold
Cc: linux-kernel , linux-mm , Andrew Morton
Subject: Re: [RFC] set the thread name


Hi,

On Tue, Jun 16, 2009 at 20:39, Stefani Seibold 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//task//... entries by a TName value like this:
prctl(PR_SET_NAME, ...) works perfectly here.

Bert

/* -*- c -*- */

#define _GNU_SOURCE
#include
#include
#include
#include
#include
#include
#include
#include
#include

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
関連記事


linux | 【2009-06-17(Wed) 09:24:33】 | Trackback:(0) | Comments:(0)
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。