[#29170] Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...>

18 messages 2001/04/10
[#30213] Re: Call for Papers Linux Conference 2001 — akira yamada / やまだあきら <akira@...> 2001/06/13

[#29190] Time Stamp Copy of File.copy — "たけ(tk)" <ggb03124@...>

 ftools.rb の move では utime を行っていて日付が同じになりますが、copy

42 messages 2001/04/11
[#29193] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/11

まつもと ゆきひろです

[#29201] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/11

たけ(tk)です。

[#29203] Re: Time Stamp Copy of File.copy — WATANABE Hirofumi <eban@...> 2001/04/11

わたなべです.

[#29212] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29215] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/12

たけ(tk)です。

[#29220] Re: Time Stamp Copy of File.copy — Minero Aoki <aamine@...> 2001/04/12

あおきです。

[#29234] Re: Time Stamp Copy of File.copy — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29236] Re: Time Stamp Copy of File.copy — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29238] Array#include! — " たけ (tk)" <ggb03124@...> 2001/04/13

たけ(tk)です。

[#29244] Re: Array#include! — matz@... (Yukihiro Matsumoto) 2001/04/13

まつもと ゆきひろです

[#29348] Open3 — NISHIO Mizuho <mzh@...>

どうも西尾です。

16 messages 2001/04/20

[#29397] rnet.rb 〜高レベルネットライブラリ〜 — rubikitch <rubikitch@...>

るびきちです。

11 messages 2001/04/24

[ruby-list:29082] Timeout モジュール

From: NISHI Takao <zophos@...9.com>
Date: 2001-04-03 19:49:03 UTC
List: ruby-list #29082
にし@おかやま,です。

IO#selectを使わずにタイムアウトを簡単に実現するモジュールが無いかとざっ
と探して見ましたが見当たらないようなので作ってみました。

# 探し方が悪いだけの様な気がする(^^;

短いので後にくっつけておきます。

-- 
NISHI Takao    D add ninth Co.,Ltd.
  1-2-24 Toyonari, Okayama, 700-0942, Japan
  Phone:+81-86-801-4216  Facsimile:+81-86-801-4217         @@@@
  mailto:zophos@Dadd9.com    http://www.Dadd9.com/         OO/
  PGP:1466 BB16 3186 CC11 1A06 713C 5518 3A2A A122 118A   -|/


require 'thread'

module Timeout
    def start_with_timeout(timeout_sec)
	me=Thread.start{
	    yield
        }
        timer=timeout_timer_thread(me,timeout_sec)
        ret=me.value
        if(timer.alive?)
            timer.kill
        end
        return(ret)
    end
    def timeout_timer_thread(target_thread,timeout_sec)
        me=Thread.start{
            sleep(timeout_sec)
            target_thread.raise Interrupt
        }
        return(me)
    end
    private :timeout_timer_thread
end

In This Thread

Prev Next