[#41278] [BUG:1.9] BINARY should not be ASCII-compatible — Yugui <yugui@...>

WXVndWkbJEIkRyQ5ISMbKEIKCgo+IBskQiRHISIkKiQqJGAkTSQzJDMkXiRHJE41RE9AJEclKyVQ

15 messages 2010/05/11

[#41407] [Bug #3339] win32ole test failure — Usaku NAKAMURA <redmine@...>

Bug #3339: win32ole test failure

20 messages 2010/05/25
[#41411] Re: [Bug #3339] win32ole test failure — Masaki Suketa <masaki.suketa@...> 2010/05/25

助田です。

[#41412] Re: [Bug #3339] win32ole test failure — "U.Nakamura" <usa@...> 2010/05/25

こんにちは、なかむら(う)です。

[ruby-dev:41185] [Feature #3251] allow to unlock mutex locked by another thread

From: Yusuke Endoh <redmine@...>
Date: 2010-05-06 11:07:04 UTC
List: ruby-dev #41185
チケット #3251 が更新されました。 (by Yusuke Endoh)


遠藤です。

2010年5月6日1:55 SASADA Koichi <ko1@atdot.net>:
>  Python はなぜ Mutex を他から解放できるのか,よくわからないのですが,
>
*snip*
>
> ということで,Mutex という名前だと,他から解放出来ない,というニュアンス
> が含まれてるんじゃないかなぁ,という感覚があります.

そういえば Python では Lock という名前です。
よくわかりませんが、マニュアルを見る感じ mutex とは明確に区別されて
いるようです。さすが Python 先生。


> 他のシステムだと,セマフォがあるからいいじゃん,ということなのかもしれ
> ず,じゃぁ Ruby にもセマフォを入れないといけない,ということかもしれません.

それなら Semaphore を作りましょうかねえ。
まあ、順序付き Map を Hash と呼ぶ Ruby なら些細な話ではないかという
気もしますが。


2010年5月6日17:09 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
> semaphoeセマンティクスだとABBAデッドロックを検知しても第三者が、
> unlockしてくれることで実はちゃんと動くかも知れないので、実用的な
> lock validatorの実装がむつかしいと。

第三者は unlock は呼べませんが、Thread#raise や Thread#kill を呼ぶ
ことができるので、ABBA deadlock から抜け出せる可能性があります。
恐ろしいことに。

なので Ruby の deadlock 検出は、「生きている全スレッドがロック解放
待ち、または無期限 sleep で休止中」という、非常に保守的な判定で実装
されてます。1 つでも実行中のスレッドがあるなら deadlock を報告する
ことはありません。

-- 
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3251

----------------------------------------
http://redmine.ruby-lang.org

In This Thread