[#23717] error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。どうしても原因がわからないので、報告だけ・・・

18 messages 2004/06/19
[#23718] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23719] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23720] Re: error at TestDRbMServer (test/drb) — nobu.nakada@... 2004/06/19

なかだです。

[#23724] Re: error at TestDRbMServer (test/drb) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2004/06/19

山本です。

[#23762] Ruby 1.8.2 to be released. — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

40 messages 2004/06/23

[#23784] URI() — Tanaka Akira <akr@...17n.org>

前から思っていたのですが、URI.parse("http://...") を URI("http://...")

19 messages 2004/06/25

[ruby-dev:23801] Re: Thread critical でも timeout を使いたい

From: Tatsuki Sugiura <sugi@...>
Date: 2004-06-25 18:48:59 UTC
List: ruby-dev #23801
杉浦です。

>>> In Message "[ruby-dev:23783] Re: Thread critical でも timeout を使いたい"
>>>            <87eko4v271.wl@tempest.nemui.org>,
>>> Tatsuki Sugiura <sugi@nemui.org>  said;
> > |現在のバージョンだと Thread.critical = true の状態で
> > |timeout を呼ぶと、呼び出し元スレッドにに制御が戻ってこない
> > |ので、必ずタイムアウトしてしまいます。
<Snip...>

> > criticalな領域はできるだけ小さくないといけないので、Timeout
> > のような長い時間を想定するものを呼んではいけないんじゃないか
> > と思います。だから、変更するなら「criticalなら例外」くらいで
> > はないでしょうか。

> うーん。なるほど。言われてみればその方が良さそうです。
> 自作のトリッキーなライブラリで必要だったので、どうも
> 引きずられてしまいました。

> リクエストは取り下げさせて頂きます。

と書いたのですが、30秒とか待たされるのもちょっと不親切かと思います
ので、即座に例外をあげる修正を入れていただけませんか?

1行なので、どなたかコミット可能な方が書いて下さった方が早いとは
思いますが、一応パッチを付けておきます。
# 手書きされるのでしたら、ついでに英語を直して下さると幸い……

-- 
Tatsuki Sugiura   mailto:sugi@nemui.org

--- lib/timeout.rb.orig	2004-06-24 02:58:29.000000000 +0900
+++ lib/timeout.rb	2004-06-26 03:20:54.000000000 +0900
@@ -35,6 +35,7 @@
 
   def timeout(sec, exception=Error)
     return yield if sec == nil or sec.zero?
+    raise exception, "timeouted immediately in critical session" if Thread.critical
     begin
       x = Thread.current
       y = Thread.start {

In This Thread