[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [MD:4249] allocator_reserve?
- X-ml-count: 4250
- Subject: Re: [MD:4249] allocator_reserve?
- From: MIYOSHI Masanori <miyoshi@xxxxxxxxxxxxxxxx>
- Date: Sun, 23 Feb 2003 14:45:53 +0900
- User-agent: Wanderlust/2.11.1 (Wonderwall) EMIKO/1.14.1 (Choanoflagellata) LIMIT/1.14.7 (Fujiidera) APEL/10.4 Emacs/21.1 (i386-msvc-nt5.1.2600) MULE/5.0 (SAKAKI) Meadow/1.99 Alpha6-dev (IKADUCHI)
>>>>> [meadow-develop : No.4249] にて
>>>>> "himi" = MIYASHITA Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxx> さんは書きました:
himi> そろそろ、まじめに見直さんといかんなぁと思いながら、mw32font.cを
himi> 眺めていたんですが、この、*_allocator_reserveとかいうのは何の為に
himi> 導入されたんでしょう? これって必要でしょうか?
これは、Windows9X でのリソースリーク対策の一環として私が導入した
ものです。
xmalloc() でメモリを確保した直後に、高い確率で、そのメモリを
xfree() している部分があったので、xfree() せずに、後で使いまわし
したほうが効率がいいと思って導入しました。
*_allocator_reserve() で、使いまわせるメモリがあればそれを渡し、
なければ xmalloc() します。
*_allocator_cancel() では、reserve したメモリを、次に使いまわせる
ように戻します。
Windows9X では free()/malloc() でユーザリソースを圧迫しているのか
もしれないという疑いを持っていたので、このようにしました。でも、
あんまり、関係なかったようなので、コードを戻してもらっても構いま
せん。
himi> 今はやっていませんが、LFを外部から開放するように変更したとき、
himi> このままでは、memory leakが発生するように見えます。
これは大丈夫だと思います。
ただし、*_allocator_reserve() と *_allocator_cancel() を対で使う
ことを前提としています。この前提が崩れればリークします。
--
三好 雅則 mailto:miyoshi@xxxxxxxxxxxxxxxx
http://www.boreas.dti.ne.jp/~miyoshi/ (Meadow2 のページ始めました)