遠藤です。

2010年5月5日12:56 Tanaka Akira <akr / fsij.org>:
> 2010年5月5日11:46 Yusuke ENDOH <mame / tsg.ne.jp>:
>>> 秒数で指定すべきでない根拠は何でしょう?
>>
>> http://www.opengroup.org/onlinepubs/009695399/functions/pthread_cond_wait.html
>>
>> で、pthread の RATIONALE として説明されています。
>
> Timed Wait Semantics の項ですか?

そこと Timed Condition Wait のところです。
ただし正直、その文章を正しく理解できている自信はあまりありません。


> 本当に禁止すべきものなら
> たまたま 1.9.1 で動かなかったので、これ幸いと禁止してしまう、というのも
> ありうる選択肢かもしれませんが。
>
> 問題は本当に禁止すべきものなのか、という点ですね。

使ったら race condition の発生を促進してしまうような API だとしたら、
提供すべきでないと思います。
少なくとも、rdoc で注意と正しい使い方を示すべきだと思います。

絶対時刻が指定できない限り、「正しい使い方」が存在しないと思います。
なので、絶対時刻指定が実装されない限り、1.9.2 で中途半端なものと提供
すべきでないと思います。
絶対時刻指定も new feature なので、今から 1.9.2 に盛り込むべきでない
と思いますが、実装する人がいるなら断固反対というほどではありません。


また [Bug #2629] では、timeout でリターンしたかどうかを返り値として
伝えるべきだ、という指摘もあります。これが、

- ないとまずい
- なくてもよい
- あるとまずい

のどれかという判断もいまいちしかねています。こっちはどう思いますか?


# 完全に余談ですが、Mutex#locked? もロジック中で使うべきでない要注意
# メソッドだと思っています。
# - http://d.hatena.ne.jp/ku-ma-me/20080111/p1
# - http://d.hatena.ne.jp/ku-ma-me/20080114/p3

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