[#25279] mkmf - DESTDIR is ignored — dellin <dellin_geo@...>

こんxxは。dellinです。

14 messages 2000/10/02

[#25311] =begin, =end — m_seki@...

27 messages 2000/10/04
[#25315] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/05

なひです.

[#25317] Re: =begin, =end — rubikitch <rubikitch@...> 2000/10/05

From: "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp>

[#25319] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/05

なひです.

[#25321] Re: =begin, =end — rubikitch <rubikitch@...> 2000/10/05

From: "NAKAMURA, Hiroshi" <nakahiro@sarion.co.jp>

[#25341] Re: =begin, =end — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/10/06

なひです.こちらはRDの話.

[#25417] Re: mswin32 組み込み用 Ruby — toyofuku@...

豊福です。遅い反応でごめんなさい。

19 messages 2000/10/10
[#25423] Re: mswin32 組み込み用 Ruby — nobu.nakada@... 2000/10/10

なかだです。

[#25471] Re: mswin32 組み込み用 Ruby — toyofuku@... 2000/10/16

豊福です。

[#25474] 始めまして — matsue <mattue@...>

松江と言います。お初になります。

15 messages 2000/10/16

[#25505] media watch 2000.10.18 — Noritsugu Nakamura <nnakamur@...>

26 messages 2000/10/18
[#25522] Re: media watch 2000.10.18 — Noritsugu Nakamura <nnakamur@...> 2000/10/19

[#25540] Re: media watch 2000.10.18 — Shin-ichiro HARA <sinara@...> 2000/10/20

原です。

[#25567] Ruby で遅い処理は? — Yasuki <yasuki@...>

Yasukiです.

16 messages 2000/10/22

[#25599] 原先生の本 — WATANABE Tetsuya <tetsu@...>

渡辺哲也です。

44 messages 2000/10/25
[#25611] Re: 原先生の本 — Shin-ichiro Hara <sinara@...> 2000/10/26

原です。

[#25733] Re: 原先生の本 — keiju@... (石塚圭樹) 2000/11/01

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

[#25738] Re: 原先生の本 — Shin-ichiro HARA <sinara@...> 2000/11/01

原です。

[#25628] RWiki 1.0 and てんこもりぱっく — Masatoshi SEKI <m_seki@...>

14 messages 2000/10/26

[#25633] ping.rb の使い方 — goto@...

お世話になります。後藤です。

20 messages 2000/10/27

[#25674] EOF before end of embedded document — YANAGAWA Kazuhisa <kjana@...>

>od -c foo

15 messages 2000/10/28
[#25678] Re: EOF before end of embedded document — matz@... (Yukihiro Matsumoto) 2000/10/28

まつもと ゆきひろです

[ruby-list:25566] Re: open3.rb

From: nobu.nakada@...
Date: 2000-10-21 16:47:47 UTC
List: ruby-list #25566
なかだです。

At Sun, 22 Oct 2000 01:01:22 +0900,
Takaaki Tateishi <ttate@jaist.ac.jp> wrote:
> > |> そおかあ、1秒後にProcess.waitpidするとかでどうでしょう?
> > |
> > | 子がさらに fork して孫を作ってすぐに死んでやると、親はすぐに
> > |子の亡骸を wait で回収でき、孫は死んだ時点で orphan となるので
> > |init に回収されると思います。
> > 
> > その方がスマートですね。そうしましょう。
> 
> ありがとうございます.おかげで助かります.
> ついでに,ブロック付きで呼ばれたときには抜けるときにclose
> もやって欲しいなと思うのですがどうでしょうか?

  ついでに引数を exec と揃えたりってのはどうでしょう。


Index: open3.rb
===================================================================
RCS file: /home/cvs/ruby/lib/open3.rb,v
retrieving revision 1.4
diff -u -2 -p -r1.4 open3.rb
--- open3.rb	2000/10/20 16:37:01	1.4
+++ open3.rb	2000/10/21 16:28:49
@@ -10,5 +10,5 @@
 module Open3
   #[stdin, stdout, stderr] = popen3(command);
-  def popen3(cmd)
+  def popen3(*cmd)
     pw = IO::pipe   # pipe[0] for read, pipe[1] for write
     pr = IO::pipe
@@ -17,4 +17,6 @@ module Open3
     pid = fork{
       # child
+      fork and _exit
+
       pw[1].close
       STDIN.reopen(pw[0])
@@ -29,6 +31,6 @@ module Open3
       pe[1].close
 
-      exec(cmd)
-      _exit 127
+      exec(*cmd)
+      exit! 127
     }
 
@@ -36,11 +38,12 @@ module Open3
     pr[1].close
     pe[1].close
-    Thread.start do
-      sleep 1
-      Process.waitpid(pid)
-    end
+    Process.waitpid(pid)
     pi = [ pw[1], pr[0], pe[0] ]
     if defined? yield
-      return yield *pi
+      begin
+	return yield *pi
+      ensure
+	pi.each {|p| p.closed? or p.close}
+      end
     end
     pi


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread