[#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:41191] Re: MonitorMixin::ConditionVariable#wait timeout

From: Tanaka Akira <akr@...>
Date: 2010-05-06 11:58:44 UTC
List: ruby-dev #41191
2010年5月5日16:48 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:

> +1  => ないとまずい
>
> 一般論としていうと、原因不明でも実装できるのはリトライが安全なケースに限られると思っていて
> Cond#waitの場合、Cond#signalされたあともう一回waitすると寝てしまうので
> 「できるかぼけ」と壁を叩くケースが出るんじゃないかな

たとえ wait が ETIMEDOUT で返って来たとしても、
signal されていないことは保証されないのではないかと思うんですがどうでしょう?

wait がタイムアウトで諦めた後、mutex をロックする前に、
他のスレッドにコンテキストスイッチして signal が起こることは無いんでしょうか。

もし有るとすると、ETIMEDOUT でリトライすると、寝てしまって永久に起きない、
という上記で懸念されている状況に結局なり得るのではないかと思うんですが。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread