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

From: KOSAKI Motohiro <kosaki.motohiro@...>
Date: 2010-05-10 16:06:02 UTC
List: ruby-dev #41252
kosakiです

> 遠藤です。
>
> 2010年5月6日23:24 Tanaka Akira <akr@fsij.org>:
>> あとは clock_gettime で CLOCK_MONOTONIC ですかね。
>>
>> Ruby も内部的に使える場合には使っている気がします。
>
>
> なるほどと思っていたのですが、CLOCK_MONOTONIC を取得してから timeout
> 付き wait を行うまでの間に race があることに気づきました。
>
> システムクロック変更に対応した timeout に必要なのは、reltime 指定では
> なく、CLOCK_MONOTONIC の軸における abstime の指定ではないでしょうか。

これは、呼び出しもとにreltime->abstime変換の責任を押しつけているだけで
raceの場所が変わっているだけに見えるのですが、呼び出し元で変換すると
raceが解決するのでしょうか?

あ、確認ですが、ここでいっているraceというのはabstimeに変換した直後に
コンテキストスイッチしたらどうしよう、という話ですよね?


> このように reltime 指定は非常に気が付きにくい race を混入させるので、
> やはり入れるべきではない、という示唆のように感じます。
>
> # timeout してすぐそのスレッドに実行権限が来ると言う保証はどうせない
> # ので、相対時刻の計算の誤差くらいは気にしなくてもいいのかなあという
> # 気もするのですが。難しい。
>
> --
> Yusuke Endoh <mame@tsg.ne.jp>
>
>

In This Thread