[#23717] error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。どうしても原因がわからないので、報告だけ・・・

18 messages 2004/06/19
[#23718] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23719] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23720] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23724] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23762] Ruby 1.8.2 to be released. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2004/06/23

[#23784] URI() — Tanaka Akira <akr@...17n.org>

前から思っていたのですが、URI.parse("http://...") を URI("http://...")

19 messages 2004/06/25

[ruby-dev:23734] Re: error at TestDRbMServer (test/drb)

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-06-21 06:26:09 UTC
List: ruby-dev #23734
山本です。

nobu.nakada@nifty.ne.jp wrote:
(2004/06/21 14:09)

>たぶん、こんな風なことじゃないかと思います。
>
>#ifdef __BORLANDC__
>#undef fdopen
>
>FILE *
>rb_w32_fdopen(int fd, const char *mode)
>{
>    FILE *fp;
>    int e = errno;
>
>    errno = 0;
>    if (!(fp = fdopen(fd, mode)) && (errno == 0)) {
>	if (_get_osfhandle(fd) == INVALID_HANDLE_VALUE) {
>	    e = EBADF;
>	}
>	else {
>	    e = EMFILE;
>	}
>    }
>    errno = e;
>    return fp;
>}
>#endif

mode 文字列が想定外のときとか、malloc が失敗したときとか、そういった場合にも
errno を設定せずに NULL を返すようになってるので、EMFILE かどうか判定するには、
どうしても FILE 配列が一杯かどうか、直接調べる必要があると思います。

FILE 配列自体は stdio.h(130) で export されていたのですが、問題はロックする関数が
公開されていないということです。

>> たぶん、内部実装に依存したコードはライセンス違反なんじゃないかと・・・
>
>バグ回避のコードをライセンスで禁止できるとは思えないんですが、
>具体的にどういう条項に引っかかりそうなんでしょうか。

具体的にどの条項、というのはわかりませんが、ランタイムのソースは Pro 以上のユーザしか
閲覧できないので、内部的に宣言され使用されている関数を public に使用してはいけない
気がしていました。news://borland.public.cppbuilder.non-technical で聞いてみます。

C++Builder5 のライセンスを http://www.ccsnet.ne.jp/~ocean/23734/LICENSE.txt においておきます。



In This Thread