68user's page 掲示板

Prev< No. 4104〜4107> Next  [最新発言に戻る] [過去ログ一覧]
No. 4104 # 68user 2005/02/21 (月) 23:44:19
質問は受け付けないって書いてあるのに、変わった人たちですね。
まぁいいですけど。

> Q1.FOPEN_MAXの20と言うのは何に利用されているかご存知ですか?
Solaris8 の stdio(3) には以下のように記述されています。
      The integer constant FOPEN_MAX specifies the minimum number
      of files that the implementation guarantees can be open
      simultaneously.

JIS X 3010 (C99 相当) には以下のように記述されています。
      FOPEN_MAX は、同時にオープンできることを処理系が保証するファイル
      数の最小値をあらわす整数定数式に展開する。

なお、FOPEN_MAX は最大値ではなく最小値です。「少なくともこれだけは
オープンできる」という値です。


FOPEN_MAX が具体的にどう使われているか、という話であれば、処理系
依存です。たとえば FreeBSD であれば libc において
      static FILE usual[FOPEN_MAX - 3];
などと使われており、リソースを確保しなおすことなくオープンできる
ファイル数が FOPEN_MAX である、という形になっているようです。

Linux などで使われている glibc においては FOPEN_MAX を一切使用して
おらず、意味のない値になっています。Solaris はソースを持ってないので
知りません。

> Q2.コンパイラごとに異なるものなのでしょうか?OSやCで決まる
> ものなのでしょうか?
何がですか? FOPEN_MAX が?

> Q3.漠然とした質問で申し訳無いのですが、上記の様なファイルオープン数の
> メーカーからの保障について、どなたかご存知ですか?
「保証する値」にこだわるのであれば、メーカーに問い合わせるのが
一番かと思います。

No. 4105 # tkb 2005/02/23 (水) 10:30:53
http://x68000.q-e-d.net/~68user/net/http-auth-2.html
にある「クライアント対応状況」ですが、apache本体(2.0.51以降)に
パッチが取り込まれています。

http://httpd.apache.org/docs-2.0/mod/mod_auth_digest.html#msie

ご参考まで。

いつも勉強させてもらってます。
これからもすばらしいコンテンツ期待しています。

No. 4106 # さいさん 2005/02/23 (水) 22:51:54
Solaris8のshについて教えて下さい。

shでシェルを書いています。
もともとは、HP-UX11.00で動かしていたのをSoralisに移しました。

位置パラメータを使ってlsの結果(個数)を取得し、ファイルが存在
しているか、存在しないかのチェックをしています。
ファイルが存在しないときは、不要なメッセージを出力しないように
もしています。
その際、ファイルが存在しなった場合、0件として終了してくれません。
位置パラメータの個数が"1"で取得されます。
引数で、チェックするディレクトリを判断するためのパラメータを渡して
いるのですが、どうやらこの引数や値が引き継がれているみたです。
上手く処理するにはどうしたらよいのですか。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
#!/bin/sh
#

PATH=${PATH}:/usr/bin:/etc:/usr/ccs/bin:/usr/local/bin:.; export PATH
TZ=JST-9; export TZ

if [ $# -lt 1 ] ; then
        echo "Parameter Error"
        echo "$0 Processing MODE [R:real/B:batch]"
        exit 1
fi

mode=$1

if [ ${mode} = "R" ] ; then
        DIR="/tmp/real"
elif [ ${mode} = "B" ] ; then
        DIR="/tmp/batch"
else
        echo "Processing MODE Error"
        echo "Processing MODE = [R:rela/B:batch]"
        exit 1
fi

cd ${LDIF_DIR}

set -- `ls *.txt 2>/dev/null | grep -v "_kekka_"`
if [ $# -eq 0 ] ; then
        echo "Ldif File Nothing Today"
        exit 1
fi
echo $*
cnt=$#
echo ${cnt}

赤色の文字は 「Windows 機種依存文字」か、いわゆる「半角カナ」です。 この掲示板では自動変換されますが、今後は使用しないで下さい

No. 4107 # 68user 2005/02/23 (水) 23:17:10
>>4105 tkb
> 「クライアント対応状況」ですが、apache本体(2.0.51以降)に
> パッチが取り込まれています。
これは知りませんでした。早速追記しました。
      http://x68000.q-e-d.net/~68user/net/http-auth-2.html

ご教示ありがとうございました。

Prev< No. 4104〜4107> Next  [最新発言に戻る] [過去ログ一覧]