From: Masahiro Sakai (=?iso-2022-jp?B?GyRCPHIwZkAvTTUbKEI=?=) Date: 2007-07-23T17:35:04+09:00 Subject: [ruby-dev:31281] Re: is_ruby_native_thread() 酒井です。 From: Hidetoshi NAGAI Date: Sun, 22 Jul 2007 23:09:04 +0900 > 永井@知能.九工大です. > > # このところ全く貢献できてなくて,すみません. > > From: Nobuyoshi Nakada > Subject: [ruby-dev:31269] Re: is_ruby_native_thread() > Date: Sat, 21 Jul 2007 22:45:29 +0900 > Message-ID: <20070721134533.EE8EAE0085@mail.bc9.jp> > > At Sun, 8 Jul 2007 12:56:20 +0900, > > Masahiro Sakai (酒井政裕) wrote in [ruby-dev:31166]: > > > 1.8 の is_ruby_native_thread() は現在のネイティブスレッドが > > > Rubyのネイティブスレッドであるか否かを返していましたが、 > > > 1.9 では現在のネイティブスレッドによらず常にQtrueを返しています。 > > > > どういう状態でtrueを返すのが望ましいんでしょうか。ruby threadと > > 関連づけられているネイティブスレッドの場合? その通りだと思います。is_ruby_native_thread() を残すのならですが。 > 結局はそれとほぼ同意にはなるのではないかと思いますが, > ruby の function を呼ぶことができる native thread ならば > true を返すようになって欲しいと思います. > > 外部ライブラリにおいて,直接 ruby を呼んで良いのか, > それとも別 native thread に依頼を出さねばならないのかを > 判断できるようにするためです. その目的には ruby thread と関連付けられているだけでは不十分で、 GVL (Global VM Lock) を保持していることも確認する必要があります。 GVL は rb_thread_blocking_region() で手放すことが出来るので。 -- 酒井 政裕 / Masahiro Sakai