牧戸です。

> > select で待っている間に、システムの時刻を過去にもどすと、
> そんな無茶なぁ。;-(

 ちなみに、定期的に正しい時刻にあわせるような処理を書いてテスト
していたら、ruby のプログラムの挙動が変になったように見えたので、、
調べてみたら rubyのselect()でした。


> >   動作的には、システム時刻にかかわらず10秒で抜けてくるのが、正しい
> > と思うのですがいかがでしょう?
> そもそも一般論として、システム・クロックを勝手に変更された場合にまで、
> オペレーティング・システムのシステムコール相当のものの動作が保証されて
> いるもんでしょうか。
> 
> > #UNIX版では、10秒で抜けてきますね。
> select()のオペレーティング・システム内での実装の違いでしょう。UNIXでは
> カーネル内のtimeout()相当を使用するため、システム・クロックには直接影
> 響を受けなかったのでしょう。システム・クロックに依存してselect()の実装
> をしているオペレーティング・システムがあってもおかしくはないので、責め
> ることはできません。
> 
> いずれにしろrubyでどうなる問題ではなく、オペレーティング・システムの実
> 装の問題と考えますが、如何でしょう?

  うーむ、まさにOS毎のselect()の実装の違い、というところですか。
とすると、確かにrubyの仕様うんぬんではないですね。失礼しました。

 不変のタイミングを取るところだけは、別モジュールに書いて対応します。


----
Weathernews Inc.                 牧戸 浩之
                        makimaki / wni.co.jp