こんにちは、ruby-ext への投稿ははじめてのサイトウです。

現在、cygwin の gcc で書いているWindowsプログラム(GUIもの)に
rubyを組み込んでいろいろやろうとしています。

以下のように rubyスクリプトを rb_require してから
その中のメソッドを C側から rb_funcall で呼び出したりしています。
そのメソッドの中で生成したスレッドを rb_funcall()
が終了しても生かしておきたいのですが、
何か良い手はありますか?

---------------------------------------
ruby_init();
ruby_init_loadpath();
rb_eval_string("$DEBUG = true");

rb_require("test.rb");
rb_funcall( Qnil, rb_intern("test"), 0 );


------------- test.rb -----------------
# print内容を tail -f でトレースするように
STDOUT.reopen("test.log","a+")
STDOUT.sync = true #出力毎にflush

def test
    Thread::start{
        while(1)
            print "hello\n"
            sleep 1
        end
    }
end
-----------------------------------------



----- 実行環境 -----
window98
ruby1.6.4 を cygwin でコンパイルしたもの


# こうゆう質問は ruby-ext で合っていますか?
-----------------------------------
サイトウ ヒロシ
HiroshiSaito / pob.org