わたなべです. :まつもと ゆきひろです. :今から新しいのをリリースしてみますので,それで試してみてくだ :さい.それでたぶん大丈夫だと思います. 今回の eval.c の変更で, HAVE_SETITIMER が define されてない 環境(djgpp とか)では SEGV で落ちます. Linux でも undef して やると再現しました. thread_schedule() が thread_alloc() される前に呼ばれてしまう のが原因なんですが, 変更はこれでいいですか? -- わたなべひろふみ
--- ../ruby-1.0-970122/eval.c Wed Jan 22 13:06:42 1997 +++ eval.c Thu Jan 23 02:11:32 1997 @@ -4650,6 +4650,9 @@ void Init_Thread() { + /* allocate main thread */ + main_thread = thread_alloc(); + eThreadError = rb_define_class("ThreadError", eException); cThread = rb_define_class("Thread", cObject); @@ -4675,8 +4678,5 @@ rb_define_method(cThread, "status", thread_status, 0); rb_define_method(cThread, "stop?", thread_stopped, 0); rb_define_method(cThread, "stopped?", thread_stopped, 0); - - /* allocate main thread */ - main_thread = thread_alloc(); } #endif