まつもと ゆきひろです

In message "[ruby-list:7259] Socket#shutdown"
    on 98/03/28, Keiju ISHITSUKA <keiju / rational.com> writes:

|けいじゅ@日本ラショナルソフトウェアです.
|
|Socket#shutdownの動作がおかしい気がするのですがどうなんでしょう?

確かに.んが,デバッガで調べる限りシステムコールの引数は正し
いようです.で,linuxカーネルのソースを見るとなんとなく
AF_UNIXにおけるshutdownシステムコールの実装のバグのような気
がします.

AF_INETでは渡されたhowを先頭でインクリメントしてからフラグ処
理してますが,AF_UNIXではそれをしていないようです.全部を解
析したわけじゃないですが,なんとなくnet/unix/af_unix.cの1155
行目付近に

        mode++;

を追加しなきゃならんように思います.ちなみにAF_INETなソケッ
トではちゃんと動作しているようです.

どっかしかるべき所に報告すると喜ばれるんだろうな.

|	how = NUM2INT(howto);
|===>	if (how < 0 && how > 2) how = 2;
|    }

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

&&は||ですね.^^;;;
                                まつもと ゆきひろ /:|)