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

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



  吉山です。

On Wed, 28 Apr 2004 09:46:09 +0900
Kenji Wakamiya <wkenji@xxxxxxxxxxxxxx> wrote:

> 若宮です。
> 情報ありがとうございます(_ _)>吉山さん
> 
> >   iconv_hook のモジュールで必要なメモリ開放をしていないような気がする箇所
> > が2つありました。
> 
> なるほど…、iconv_hook の可能性を忘れていました。
> 
> > +       if (cd->ienc == NULL) free (id->oenc);
>                                       ^^^^^^^^cd->ienc ですね(^^;
> 
> 頂いたパッチを試してみたのですが、まだ漏れているようで httpd の肥大化は
> 再現してしまいました (心なしか肥大化ペースは遅くなった気がします)。

  んー…
  じゃー、これでどうでしょう。
===
diff -u  iconv_hook.c iconv_hook.c.fix 
--- iconv_hook.c        2002-06-08 18:19:01.000000000 +0900
+++ iconv_hook.c.fix    2004-04-28 10:50:27.000000000 +0900
@@ -33,6 +33,7 @@
 
 int
 iconv_hook_close(iconv_t cd) {
+  (*(p->cm->iconv_close))(ienc, oenc);
   free((iconv_hook_t *)cd);
   return 0;
 }
===

> >   iconv_hook なしでコンパイルする(glibc の iconv() を利用する)ようにして
> > みて問題が解決するならビンゴかも知れません。
> 
> iconv_hook/iconv.h の include を iconv.h に変えて make してみたらビンゴ!
> でした。httpd は起動時のサイズ+α からほぼ変化せずに動いています。
> 
> しかし、当然ながら iconv_hook で吸収していた iconv の非互換問題が出て、
> Web フォルダでのアクセス時に WebDAV 本の例のような文字化けが生じます;-)。

  最近の glibc だと、EUC-JP-MSや MS932 をサポートしている筈ですよ。
  Fedora 辺りにはありませんかね?
	iconv  --list
で一覧に出るなら試してみて下さい。

---
吉山あきら<yosshy@xxxxxxxxxxxx>