[#6862] Re: http_get.rb — 青山 和光 <PXN11625@...>

In-Reply-To: [ruby-list:6844] Re: http_get.rb

15 messages 1998/03/01

[#6906] ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...>

藤本です、こんにちは。

25 messages 1998/03/03
[#6907] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/03

まつもと ゆきひろです

[#6908] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6911] Re: ruby's Icon ? — OZAWA Sakuro <ozawa@...> 1998/03/03

小澤さくです。

[#6912] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんにちは。

[#6914] Re: ruby's Icon ? — 藤本尚邦 / FUJIMOTO Hisakuni <hisa@...> 1998/03/03

藤本です、こんばんは。

[#6918] manual 1.18b index — WATANABE Tetsuya <tetsu@...>

ruby-man-1.1b8 で、name タグがついているものを拾い集めて

17 messages 1998/03/04
[#6921] Re: manual 1.18b index — matz@... (Yukihiro Matsumoto) 1998/03/04

まつもと ゆきひろです

[#6954] Re: ruby's Icon ? — nosuzuki@... (Norio Suzuki)

こんばんは。鈴木教郎です。

18 messages 1998/03/04
[#6964] Re: ruby's Icon ? — matz@... (Yukihiro Matsumoto) 1998/03/05

まつもと ゆきひろです

[#7023] infinity — Tadayoshi Funaba <tadf@...>

ふなばです。

41 messages 1998/03/09
[#7029] Re: infinity — shugo@... (Shugo Maeda) 1998/03/09

前田です。

[#7033] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/09

けいじゅ@日本ラショナルソフトウェアです.

[#7041] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803091741.CAA05774.keiju@cupmail0.rational.com>

[#7048] Re: infinity — keiju@... (Keiju ISHITSUKA) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7049] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7051] Re: infinity — keiju@... (石塚圭樹 ) 1998/03/10

けいじゅ@日本ラショナルソフトウェアです.

[#7054] Re: infinity — matz@... (Yukihiro Matsumoto) 1998/03/10

まつもと ゆきひろです

[#7050] Re: infinity — Kazuhisa YANAGAWA <katze@...> 1998/03/10

In message <199803100359.MAA08628.keiju@cupmail0.rational.com>

[#7259] Socket#shutdown — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

16 messages 1998/03/28
[#7260] Re: Socket#shutdown — matz@... (Yukihiro Matsumoto) 1998/03/28

まつもと ゆきひろです

[#7265] Re: Socket#shutdown — keiju@... (石塚圭樹 ) 1998/03/29

けいじゅ@日本ラショナルソフトウェアです.

[ruby-list:7259] Socket#shutdown

From: keiju@... (Keiju ISHITSUKA)
Date: 1998-03-28 13:14:51 UTC
List: ruby-list #7259
けいじゅ@日本ラショナルソフトウェアです.

Socket#shutdownの動作がおかしい気がするのですがどうなんでしょう?

結果その1
dim% irb
irb0> require "socket.o"
true
irb0> s1, s2 = Socket.pair(Socket::AF_UNIX, Socket::SOCK_STREAM, 0)
[#<Socket:0x400d169c>, #<Socket:0x400d16b0>]
irb0> s1 << "abc\n"
#<Socket:0x400d169c>
irb0> s2.gets
"abc\n"
irb0> s1.shutdown 0
0
irb0> s1.print "abc\n"
nil
irb0> s2.gets
"abc\n"
irb0> s2.print "abc\n"
nil
irb0> s1.gets
"abc\n"
irb0> quit

結果その2-1
dim% irb
irb0> require "socket.o"
true
irb0> s1, s2 = Socket.pair(Socket::AF_UNIX, Socket::SOCK_STREAM, 0)
[#<Socket:0x400e8234>, #<Socket:0x400e8248>]
irb0> s1.shutdown 1
0
irb0> s1.print "abc\n"
nil
irb0> s2.gets
"abc\n"
irb0> s2.print "abc\n"
Broken pipe

結果その2-2
dim% irb
use readline module
irb0> require "socket.o"
true
irb0> s1, s2 = Socket.pair(Socket::AF_UNIX, Socket::SOCK_STREAM, 0)
[#<Socket:0x400d169c>, #<Socket:0x400d16b0>]
irb0> s1.shutdown 1
0
irb0> s1.gets
nil


結果その3
dim% irb
use readline module
irb0> require "socket.o"
true
irb0> s1, s2 = Socket.pair(Socket::AF_UNIX, Socket::SOCK_STREAM, 0)
[#<Socket:0x400d169c>, #<Socket:0x400d16b0>]
irb0> s1.shutdown 2
0
irb0> s2.print "abc\n"
nil
irb0> s1.gets
"abc\n"
irb0> s1 << "def\n"
Broken pipe

結果を見ると分かると思うのですが, s1.shutdown 0 では何も行なわれていま
せん. s1.shutdown 1 では(書き込みはできるが)読み込みができなくなってい
ます.  さらに, s1.shutdown 2 では(読み込みはできるが)書き込みができな
くなっています. 

そうであるべき動作と1づれています.

ソースを見ても分からなかったのですが...

static VALUE
bsock_shutdown(argc, argv, sock)
    int argc;
    VALUE *argv;
    VALUE sock;
{
    VALUE howto;
    int how;
    OpenFile *fptr;

    rb_scan_args(argc, argv, "01", &howto);
    if (howto == Qnil)
	how = 2;
    else {
	how = NUM2INT(howto);
===>	if (how < 0 && how > 2) how = 2;
    }
    GetOpenFile(sock, fptr);
    if (shutdown(fileno(fptr->f), how) == -1)
	rb_sys_fail(0);

    return INT2FIX(0);
}

===>のところは少なくとも間違っていると思います.

__
..............................石塚 圭樹@日本ラショナルソフトウェア...
----------------------------------->> e-mail: keiju@rational.com <<---

In This Thread

Prev Next