[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:0994] Re: mod_encoding 付き httpd の肥大化



若宮です。

岩間さん:
>  Fedora Core1 であれば、
>     http://www.sera.desuyo.net/WebDAV/
> にあるパッケージ群をお試しください。ちょっと古いんですが、Core2 がそろそろ
> だなぁ…と思って、まだ手を付けていません。

Google でたどり着いたページです、岩間さんのページだったとは(^^;。
RPM 群は試してなかったのですが、Win2000 での "〜" 等の問題がどうなるか、
環境を整理してやってみたいと思います(_ _)。

吉山さん:
>   すいません。
>   こちらで検証していない事がまるばれですな。

いえ、お付き合い頂いて感謝しております(_ _)。

> int
> iconv_hook_close(iconv_t cd) {
>   (*(cd->cm->iconv_close))(cd->cd);
>   free((iconv_hook_t *)cd);
>   return 0;
> }

またちょっとキャストだけ追加しないと通らなかったので(^^;、
示して頂いた情報を参考に以下のようにしました。

int
iconv_hook_close(iconv_t cd) {
  (*(((iconv_hook_t *)cd)->cm->iconv_close))(((iconv_hook_t *)cd)->cd);
  free((iconv_hook_t *)cd);
  return 0;
}
    ↓ cd は iconv_hook_t * としてしか使ってないので
int
iconv_hook_close(iconv_hook_t *cd) {
  (*(cd->cm->iconv_close))(cd->cd);
  free(cd);
  return 0;
}

これで httpd は太らなくなりました! top で見ていると、"Mem:" の free は
どんどん減っていくのですが、物理メモリの限界手前で増減を繰り返します。
これは mod_encoding を組み込まない時でもそうなるので問題ないんでしょうね。
例の Win2000 からのアクセス時の "〜" も従来通り問題ありません。

とりあえず動かしっぱなしにできそうな解が得られたので一安心です。
glibc - iconv を使う方法を含め、何か進展がありましたらまたご報告します。
どうもありがとうございます(_ _)m。
-- 
// Kenji Wakamiya
// wkenji@xxxxxxxxxxxxxx