[#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:44782] $stdin.rewind が exec した子プロセスに伝わらない?

From: SATOH Fumiyasu <fumiyas@...>
Date: 2008-03-17 10:43:12 UTC
List: ruby-list #44782
さとうふみやす @ OSS テクノロジです。

$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

pid = Process.fork
unless pid
  $stdin.rewind
  print "3: stdin.gets: ", $stdin.gets
  exit
end
Process.waitpid(pid)

$stdin.rewind
system('echo -n "4: head: "; head -n 1')

$stdin.rewind
system('echo -n "5: cat: "; cat')

$stdin.rewind
print "6: stdin.gets: ", $stdin.gets

$ ruby stdin-rewind.rb </etc/passwd
1: head: root:x:0:0:root:/root:/bin/bash
2: stdin.gets: root:x:0:0:root:/root:/bin/bash
3: stdin.gets: root:x:0:0:root:/root:/bin/bash
4: head: 5: cat: 6: stdin.gets: root:x:0:0:root:/root:/bin/bash

-- 
-- Name: SATOH Fumiyasu (fumiyas @ osstech co jp)
-- Business Home: http://www.OSSTech.co.jp/
-- Personal Home: http://www.SFO.jp/blog/

In This Thread

Prev Next