Bug #289 [ruby-dev:35542]

sleep and Thread#run

Added by Anonymous 610 days ago. Updated 598 days ago.

Status :Closed Start :
Priority :Low Due date :
Assigned to :- % Done :

0%

Category :-
Target version :-
ruby -v :


Description

1.9 では sleep で寝ているスレッドを Thread#run で起こせない
ようです。

% ./ruby -ve '
t = Thread.new {
  t1 = Time.now
  sleep 5
  t2 = Time.now
  p t2 - t1
}
sleep 1
t.run
t.join
'
ruby 1.9.0 (2008-07-16 revision 18083) [i686-linux]
5.139447392

sleep を Thread#run で起こせるっぽいことは rdoc に書いてありま
す。

 *  Suspends the current thread for _duration_ seconds (which may be any number,
 *  including a +Float+ with fractional seconds). Returns the actual number of
 *  seconds slept (rounded), which may be less than that asked for if another
 *  thread calls <code>Thread#run</code>. Zero arguments causes +sleep+ to sleep
 *  forever.

また、1.8 では起こせます。

% ruby-1.8 -ve '
t = Thread.new {
  t1 = Time.now
  sleep 5
  t2 = Time.now
  p t2 - t1
}
sleep 1
t.run
t.join
'
ruby 1.8.7 (2008-07-10 revision 17572) [i686-linux]
1.002687
-- 
[田中 哲][たなか あきら][Tanaka Akira]

History

07/18/2008 11:41 AM - Yukihiro Matsumoto

まつもと ゆきひろです

In message "Re: [ruby-dev:35542] [Bug:1.9] sleep and Thread#run"
    on Wed, 16 Jul 2008 20:43:16 +0900, Tanaka Akira <akr@fsij.org> writes:

|1.9 では sleep で寝ているスレッドを Thread#run で起こせない
|ようです。

|sleep を Thread#run で起こせるっぽいことは rdoc に書いてありま
|す。

1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな
いのであっても受け入れられます。ただし、その場合はrdocは更新
すべきでしょうね。

07/18/2008 11:47 AM - Anonymous

In article <E1KJ90G-0005Id-TX@x61.netlab.jp>,
  Yukihiro Matsumoto <matz@ruby-lang.org> writes:

> 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな
> いのであっても受け入れられます。ただし、その場合はrdocは更新
> すべきでしょうね。

べつに実際に使っていてという話ではなくて、また、sleep する前
に run しちゃったら、という心配も有るのでそれかまいませんが、
他のスレッドから通知されるか一定時間経過するかどちらかを待つ、
というのは 1.9 ではどのように書くのでしょう?
-- 
[田中 哲][たなか あきら][Tanaka Akira]

07/27/2008 09:06 AM - Koichi Sasada

  • Status changed from Open to Closed

07/27/2008 09:09 AM - Koichi Sasada

fixed at r18094.

07/30/2008 03:22 PM - Nobuyoshi Nakada

なかだです。

At Thu, 17 Jul 2008 00:28:55 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:35549]:
> 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな
> いのであっても受け入れられます。ただし、その場合はrdocは更新
> すべきでしょうね。

[ruby-core:17270]を直したときのバグです。

# [ruby-dev:35542]がredmineに登録されてないですね。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

07/30/2008 03:29 PM - Nobuyoshi Nakada

なかだです。

At Thu, 17 Jul 2008 00:28:55 +0900,
Yukihiro Matsumoto wrote in [ruby-dev:35549]:
> 1.8とはThreadの実装が違うので、なんらかの事情で1.9は起こせな
> いのであっても受け入れられます。ただし、その場合はrdocは更新
> すべきでしょうね。

[ruby-core:17270]を直したときのバグです。

# [ruby-dev:35542]がredmineに登録されてないですね。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

Also available in: Atom PDF