[#11357] [PATCH] an analogue of `long long' — "Nobuyoshi.Nakada" <nobu.nakada@...>

なかだです。

18 messages 2000/11/01
[#11358] Re: [PATCH] an analogue of `long long' — matz@... (Yukihiro Matsumoto) 2000/11/01

まつもと ゆきひろです

[#11364] Re: [PATCH] an analogue of `long long' — EGUCHI Osamu <eguchi@...> 2000/11/02

えぐち@エスアンドイー です。

[#11440] class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...>

[ruby-dev:11428] からの続きですが、threadは切りました。

14 messages 2000/11/08
[#11442] Re: class Character (was: Ruby I18N) — TAKAHASHI Masayoshi <maki@...> 2000/11/08

高橋征義です。用語について。

[#11443] Re: class Character (was: Ruby I18N) — Yasushi Shoji <yashi@...> 2000/11/08

At Wed, 8 Nov 2000 20:44:55 +0900,

[#11520] A problem of Socket methods on Windows — OKA Toshiyuki <oka@...>

岡と申します。

22 messages 2000/11/15
[#11523] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11528] Re: A problem of Socket methods on Windows — matz@... (Yukihiro Matsumoto) 2000/11/15

まつもと ゆきひろです

[#11532] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11534] Re: A problem of Socket methods on Windows — OKA Toshiyuki <oka@...> 2000/11/15

岡です。

[#11535] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11538] Re: A problem of Socket methods on Windows — "Nobuyoshi.Nakada" <nobu.nakada@...> 2000/11/15

なかだです。

[#11662] IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org>

In article <E140cR3-0002ls-00@ev.netlab.zetabits.co.jp>,

22 messages 2000/11/28
[#11663] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/28

まつもと ゆきひろです

[#11664] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <E140fxW-0002u9-00@ev.netlab.zetabits.co.jp>,

[#11665] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/28

In article <hvor93w5wb8.fsf@coulee.m17n.org>,

[#11669] Re: IO (Re: fork problem?) — Tanaka Akira <akr@...17n.org> 2000/11/29

In article <hvoofz05uwz.fsf@coulee.m17n.org>,

[#11672] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/11/29

まつもと ゆきひろです

[#11675] Re: IO (Re: fork problem?) — Koji Arai <JCA02266@...> 2000/11/30

新井です。

[#11677] Re: IO (Re: fork problem?) — matz@... (Yukihiro Matsumoto) 2000/12/01

まつもと ゆきひろです

[ruby-dev:11535] Re: A problem of Socket methods on Windows

From: "Nobuyoshi.Nakada" <nobu.nakada@...>
Date: 2000-11-15 07:21:55 UTC
List: ruby-dev #11535
なかだです。

At Wed, 15 Nov 2000 14:55:10 +0900
OKA Toshiyuki <oka@langedge.com> wrote:
> myfdopen() ですが、
> 
> > @@ -1756,7 +1756,7 @@ myfdopen (int fd, const char *mode)
> >      if (is_socket((SOCKET)fd)) {
> >  	int fh;
> >  
> > -	fh = my_open_osfhandle((SOCKET)fd, O_RDWR|O_BINARY);
> > +	fh = my_open_osfhandle(TO_SOCKET(fd), O_RDWR|O_BINARY);
> >  	return _fdopen(fh, mode);		// return file pointer
> >      }
> >      else {
> 
> は問題があります。もし fd がソケットハンドルの場合は、TO_SOCKET()
> をやるとまずいので、元のままのほうがよいのでは。
> 
> そもそも、myfdopen には、もはやソケットハンドルは渡って来ないはず
> なので、この if節そのものが不要だ、とも言えます。

  てことは、myfdopen(), myfdclose() からして不要ということになりますが、
ext/socket/socket.c を見るとどうも close() と closesocket() とで分けてる
らしいので、#undef getsockopt を is_socket() の前に持ってきて、こうすれ
ばいいのかもしれません。

FILE *
myfdopen (int fd, const char *mode)
{
    SOCKET s = TO_SOCKET(fd);

    if (is_socket(s)) {
	fd = my_open_osfhandle(s, O_RDWR|O_BINARY); // fake descriptor
    }

    return _fdopen(fd, mode);
}

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦


In This Thread