[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00868] Re: jserver の接続数上限



小野寛生です

At Sun, 9 Jun 2002 03:30:31 JST,
Tomoki AONO wrote:

確かに、どうするのが良いか、私も考えがまだないです。
ほかにも阿部さんの指摘された
 struct wnn_file files[MAX_FILES];
とかも、いきなりがばっと最大を確保するのではなく、動的に扱えないものかと
思ったりもしているのですが…。

> とりあえずそれを抜きにして考えれば、
> get_or_raise(wanted_fd)のようなラッパー関数をつくって、

> ・setrlimit()があればwanted_fdまで増やせるか試す(とれた分
>   を返す)
> ・なければwanted_fdは無視してgettablesize()/NOFILEを返す

当面はそれでよいと思います。

・すぐ出来るのは
  getdtablesize() があれば、その返り値を nofile に代入。
  なければ OPEN_MAX を代入。
  それもなければ NOFILE を代入
・暫定的に上記 wrapper 関数を作る
  getrlimit() で limit を調べる。
  そのまま返すか、wanted fd か soft limit の小さい方まで setrlimit() する
  wanted fd が 0 (か、負のどっちがよいでしょう) なら、単に getrlimit で調べた
  結果を返す。
  getrlimit() / setrlimit() がなければ、
    getdtablesize() / OPEN_MAX / NOFILE の順に有無を調べて、それを返す。

というところかと考えています。


http://www.freewnn.org/ FreeWnn Project