[#36069] 日本語に混じった URL を抜き出したい — keiichi matsunaga <ma2@...>

 松永です。

26 messages 2002/10/02
[#36072] Re: 日本語に混じった URL を抜き出したい — keiichi matsunaga <ma2@...> 2002/10/02

 松永です。

[#36073] Re: 日本語に混じった URL を抜き出したい — SAITO Shukaku <shukaku@...> 2002/10/02

At Wed, 2 Oct 2002 13:51:42 +0900,

[ruby-list:36110] Re: Windows でThread

From: WATANABE Hirofumi <eban@...>
Date: 2002-10-05 08:55:40 UTC
List: ruby-list #36110
わたなべです。

Koji Arai <JCA02266@nifty.ne.jp> writes:

> 直すとすれば以下でしょうか?
> 
> | Win32版 ruby (cygwin、mingw、mswin32, bccwin32)では、以下も Thread
> | の切替えが起こらないために timeout できません。
> | 
> |     # Win32ネイティブ版(mingw, mswin32, bccwin32)
> | 
> |     require 'timeout'
> | 
> |     begin
> | 	timeout(5) do
> | 	  $stdin.gets
> | 	end
> |     rescue TimeoutError
> | 	print "timeout\n"
> |     end
> | 
> |     # Cygwin版
> | 
> |     i = 0
> |     begin
> | 	timeout(5) do
> | 	  while true
> | 	      puts (i+=1)
> | 	  end
> | 	end
> |     rescue TimeoutError
> | 	print "timeout\n"
> |     end
> | 
> | win32ネイティブ版では、$stdin.gets が、cygwin では、puts で 
> | Thread の切替えを発生させないためです。

Cygwin版は先日#undef HAVE_SETITIMER相当の変更をしたので、
timeoutします。1.6.8, 1.7.3からということにするのがいいかな。

> この説明だと、以下がちゃんとタイムアウトする理由が不明ではあ
> ります。うーん、puts でダメな理由がいまいちわかってない。
> 
> require 'timeout'
> 
> i = 0
> begin
>   timeout(5) do
>     while true
>     end
>   end
> rescue TimeoutError
>   print "timeout\n"
> end

これもtimeoutしてなかったと思います。
要するにrb_thread_schedule()に移るような処理が間にない限りだ
めだったってことで。sleep(0)やpは内部的にそういう処理をします。

-- 
わたなべひろふみ

In This Thread