[#352] ruby 1.1a5 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

38 messages 1997/09/01
[#353] Re: ruby 1.1a5 released — keiju@... (石塚圭樹 ) 1997/09/01

[#354] Re: ruby 1.1a5 released — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#356] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/01

まつもと ゆきひろです

[#357] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/01

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

[#359] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#363] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#374] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#376] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/02

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

[#382] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/02

まつもと ゆきひろです

[#390] Re: methods [Re: ruby 1.1a5 released] — keiju@... (Keiju ISHITSUKA) 1997/09/03

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

[#391] Re: methods [Re: ruby 1.1a5 released] — matz@... (Yukihiro Matsumoto) 1997/09/03

まつもと ゆきひろです

[#441] How to report a bug — takagi@... (TAKAGI Hiromitsu)

Bus error が出ました。

15 messages 1997/09/09

[#461] [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...>

助田です

27 messages 1997/09/11
[#462] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#463] Re: [Q] ruby-socket(mswin32) — Masaki Suketa <suke@...> 1997/09/11

助田です

[#464] Re: [Q] ruby-socket(mswin32) — matz@... (Yukihiro Matsumoto) 1997/09/11

まつもと ゆきひろです

[#467] Re: [Q] ruby-socket(mswin32) — WATANABE Hirofumi <watanabe@...> 1997/09/11

わたなべです.

[#594] BUG?(marshal) — Masaki Suketa <suke@...>

以下のプログラムを実行した時に(3)と(4)で出力結果が違います。

17 messages 1997/09/30

[ruby-dev:453] Re: open, close, waitpid?

From: WATANABE Hirofumi <watanabe@...>
Date: 1997-09-10 09:48:23 UTC
List: ruby-dev #453
わたなべです.

Yukihiro Matsumoto <matz@netlab.co.jp> writes:

:|f1 = open("|cat", "w")
:|f2 = open("|sed 's/a/b/'", "w")
:|f1.print "Hello\n"
:|f2.print "abc\n"
:|f1.close
:|f2.close
:|
:|これが block しちゃいます. close の順番を逆にすれば ok だけど.
:|FILO じゃないと駄目なのなか?
:
:確かにそうなりますね.fclose()したのにサブプロセスにSIGPIPE
:がいかないのか終了しないのが原因ですね.でも,なんでそうなる
:のか良くわかってません.明示的にシグナルを送るべきか….

ところで perl ではどうだろうと等価なスクリプトを書いてみました.

use IO::File;

$f1 = IO::File->new;
$f2 = IO::File->new;
$f1->open("|cat");
$f2->open("|sed 's/a/b/'");
$f1->print("Hello\n");
$f2->print("abc\n");
$f1->close;
$f2->close;

これはちゃんと動きます. で close を逆にすると出力も逆順にな
ります. バッファリングしてるからなんですね. close の前に
$f1->flush; を入れると正順になるし.

ruby は出力先が pipe でもバッファリングされないんですか?
昨今の CGI ブームを見るとそのほうが混乱がなくていい気もするけど.

-- 
わたなべひろふみ

In This Thread