塩崎です。 From: Fumikatu_Saitoh _at_ hq.digi.co.jp Subject: [linux-users:95114] memory leak Date: Thu, 5 Sep 2002 13:39:30 +0900 Message-ID: <OF5BD3C1FB.FC818AC4-ON49256C2B.0017E474 _at_ LocalDomain> > 早速なのですが、 > memory leakで分からない事があるので、どなたか御教授頂けたら幸いです。 このネタは一年続くのでタブーです(冗談) # 実際、fj.comp.lang.c で一年以上続いたネタだけど。 > これは、メモリリークではないのでしょうか? > 実際にlocaltime()関数も追ってみたのですが、どうも一度呼ばれたlocaltime()の > ある部分をメモリーに残して2度目からlocaltime()が呼ばれるとそのメモリーも利 > 用するとなっているようです。 > ただそうなると、プロセスが終了するときにそのメモリーを開放するような関数が > なくてはいけないような気がします。(間違っているかも知れませんが) もし、localtime を呼ぶたびに孤児になるメモリが増加してゆくようならば、 それは明確なメモリリークなのですが、こういうふうに意図的に開放せずに 放置している場合は、普通メモリリークとは呼びません。 もちろんこれには「プロセスの終了時にカーネルが自動でメモリを 回収してくれる」という前提条件が必要なんですが、glibc が想定している カーネルはそれを満たしているものしかないので、意図的に 放置しているんですな。 こういうメモリを律義に明示的に free するべきかどうか、 というのは意見の分かれるところでして、少なくとも glibc は、 これを放置するというポリシをとっているわけですね。 # この手のメモリを free するのは、普通の人が安易に考えるよりは難しい。 いずれにしろ、「メモリ枯渇の原因になるのではないか?」という意味での メモリリークの心配をする必要はないでしょう。 では。 -- Takuya SHIOZAKI / ASTEC Products, Inc.
References:
- [linux-users:95114] memory leakFumikatu_Saitoh
- Prev by Subject: [linux-users:95115] Re: memory leak
- Next by Subject: [linux-users:95117] Re: memory leak
- Previous by thread: [linux-users:95115] Re: memory leak
- Next by thread: [linux-users:95117] Re: memory leak
- Indexes:[Main][Thread]