[#44725] Set[Set[1]]==Set[Set[1]] は偽? — "5.5" <5.5@...>

5.5 です。

22 messages 2008/03/04

[#44782] $stdin.rewind が exec した子プロセスに伝わらない? — SATOH Fumiyasu <fumiyas@...>

さとうふみやす @ OSS テクノロジです。

11 messages 2008/03/17
[#44783] Re: $stdin.rewind が exec した子プロセスに伝わらない? — Kazuhiro NISHIYAMA <zn@...> 2008/03/17

西山和広です。

[ruby-list:44783] Re: $stdin.rewind が exec した子プロセスに伝わらない?

From: Kazuhiro NISHIYAMA <zn@...>
Date: 2008-03-17 11:00:58 UTC
List: ruby-list #44783
西山和広です。

At Mon, 17 Mar 2008 19:43:12 +0900,
SATOH Fumiyasu wrote:
> 
> $stdin.rewind したとき、その後に ruby から実行する
> 外部コマンドに反映されないことがあるのですが、バグでしょうか?
> 
> $ ruby -v
> ruby 1.8.6 (2008-03-03 patchlevel 114) [x86_64-linux]
> 
> $ cat stdin-rewind.rb
> $stdin.rewind
> system('echo -n "1: head: "; head -n 1')
> 
> $stdin.rewind
> print "2: stdin.gets: ", $stdin.gets

ここの$stdin.getsで読み込んだ後の$stdin.rewindはFILE*のストリームの
先頭に戻る(fseek(3))だけで、ファイルディスクリプタは読み込んだ位置に
進んだまま(lseek(2)ではない)だから、execした後のプログラムには
影響しないのではないでしょうか?


-- 
|ZnZ(ゼット エヌ ゼット)
|西山和広(Kazuhiro NISHIYAMA)

In This Thread