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

From: Yusuke ENDOH <mame@...>
Date: 2010-05-06 10:58:15 UTC
List: ruby-dev #41183
遠藤です。

2010年5月6日19:39 Tanaka Akira <akr@fsij.org>:
> また、[ruby-dev:41162] で指摘されているように、
> システムの時刻が変わる場合、プログラマの意図が relative time なのに
> absolute time で実装すると、時刻を進める場合は意図よりも早くタイムアウトし、
> 時刻を巻き戻す場合は意図よりも遅くタイムアウトします。
> 早いのは再度待てばいいことですが、遅いのは取り返しがつかないかもしれません。

Mutex.sleep は pthread_cond_timedwait で実装されているため、API 上で
relative time を受け取ってもシステムクロック変更対策は実現できないの
ではないでしょうか。


>> 絶対時刻指定も new feature なので、今から 1.9.2 に盛り込むべきでない
>> と思いますが、実装する人がいるなら断固反対というほどではありません。
>
> とりあえず race は気にしないことで API だけ Time も受け付けるようにするなら
> ConditionVariable#wait の先頭に
>
> ?# xxx: mutex.sleep should support Time argument.
> ?timeout = timeout - Time.now if timeout.kind_of? Time
>
> と入れるとかでしょうか。

えーー。と思いますが、CV#wait に timeout を入れた akr さんは一時的に
thread.rb のメンテナであると考えます。[Bug #2629] の件もあわせて引き
とって頂けるなら、反対しません。

-- 
Yusuke Endoh <mame@tsg.ne.jp>

In This Thread