From: Tanaka Akira Date: 2010-05-06T20:13:36+09:00 Subject: [ruby-dev:41186] Re: MonitorMixin::ConditionVariable#wait timeout 2010年5月6日19:58 Yusuke ENDOH : > Mutex.sleep は pthread_cond_timedwait で実装されているため、API 上で > relative time を受け取ってもシステムクロック変更対策は実現できないの > ではないでしょうか。 そうですね。 relative time で受け付ける機能数がある環境でしか完全には実現できない かもしれません。 (MacOS X の pthread_cond_timedwait_relative_np とか?) そういう環境では正しく動き、そうでない環境では残念ですが 時刻を巻き戻した場合は遅くタイムアウトすることになるでしょう。 しかし、absolute time しか指定できなければ、 遅くタイムアウトしないという機能を提供することは不可能です。 > えーー。と思いますが、CV#wait に timeout を入れた akr さんは一時的に > thread.rb のメンテナであると考えます。[Bug #2629] の件もあわせて引き > とって頂けるなら、反対しません。 私は自分が thread.rb のメンテナであるとは考えていません。 -- [田中 哲][たなか あきら][Tanaka Akira]