まつもと ゆきひろです

In message "[ruby-dev:10050] sleep on Solaris"
    on 00/06/15, とみたまさひろ <tommy / tmtm.org> writes:

|Solaris 2.6, 7 で ruby -e 'sleep' を実行すると即復帰してしまいます。
|
|調べてみたところ、Solaris では 1052266988 以上の値を sleep() に指定する
|と、何も待たずに返ってきてしまうようです。
|
|# Solaris のバグ…?

Perlでも同じ値なんですけど、あっちも動かないのかしら?

|eval.c の rb_thread_sleep_forever() 中では
|
|	2147450879秒 == 68年+α
|
|も待っているようですが、
|
|	1052266987秒 == 33年+α
|
|も待てば十分かと思うんで、もっと小さい値に変更して頂けませんでしょうか。
|
|または、本当に無限に待つという意味で、sleep(3) じゃなくて pause(2) を使
|うというのはどうでしょう。

pause(2)を使いましょう。

|# pause(2) がない処理系もあるのかも知れないけど…。

POSIXで定義されてるんで大丈夫でないかと。
なかったら教えてください。
                                まつもと ゆきひろ /:|}