[#30549] [ANN] Ruby 1.8.6 has been released — "Akinori MUSHA" <knu@...>

 Ruby 1.8.6 をリリースしました。

14 messages 2007/03/12

[#30553] help: lib/shell for ruby 1.9 — keiju@... (Keiju ISHITSUKA)

けいじゅ@いしつかです.

13 messages 2007/03/13
[#30585] Re: help: lib/shell for ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/03/15

まつもと ゆきひろです

[#30587] Re: help: lib/shell for ruby 1.9 — keiju@... (石塚圭樹) 2007/03/15

けいじゅ@いしつかです.

[#30588] Re: help: lib/shell for ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/03/15

まつもと ゆきひろです

[ruby-dev:30553] help: lib/shell for ruby 1.9

From: keiju@... (Keiju ISHITSUKA)
Date: 2007-03-13 10:41:13 UTC
List: ruby-dev #30553
けいじゅ@いしつかです.

こんどは, lib/shell を ruby 1.9(YARV)に対応しようと思っているのですが,
Thread.criticalを多用しているので, どうしたもんだかと悩んでします.

まず, lib/shell では, カレントディレクトリ を Shellオブジェクトごとに
持てるようにしています. で以下のように Thread.critical を用いて他のス
レッドが他のスレッドがカレントディレクトリを変更しないようにしています.

      Thread.critical = true
      back = Dir.pwd
      begin
	Dir.chdir @shell.cwd
	@files = Dir[pattern]
      ensure
	Dir.chdir back
	Thread.critical = false
      end

umask値も同様にしています. 

で, これらをThread.criticalを使わないで対応するにはどうすればよいかな
と... lib/shell 管理下にあるスレッドなら排他制御はできますが, カレント
ディレクトリを変更したりumask値を変更したりする可能性のあるスレッドは
他にもあるわけですから...

何か良い案ないでしょうか? 

それともう一つ, forkした後の子プロセス側のスレッドはどうするようになり
ましたっけ? だいぶ前の版からkillするようになった気もしているのですが?

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: keiju@ishitsuka.com <<---

In This Thread

Prev Next