From: GOTOU Yuuzou Date: 2007-01-02T11:38:30+09:00 Subject: [ruby-dev:30063] Re: merge YARV In message <459846DC.7010507@atdot.net>, `SASADA Koichi ' wrote: >  昨晩 YARV をマージしました。 NetBSD 4.99.7で次のようになりました。 gcc -g -O2 -fPIC -pipe -I. -I../ruby-1.9 -DRUBY_EXPORT -c ../ruby-1.9/thread.c In file included from ../ruby-1.9/thread.c:116: ../ruby-1.9/thread_pthread.ci: In function 'native_thread_create': ../ruby-1.9/thread_pthread.ci:184: error: 'PTHREAD_STACK_MIN' undeclared (first use in this function) ../ruby-1.9/thread_pthread.ci:184: error: (Each undeclared identifier is reported only once ../ruby-1.9/thread_pthread.ci:184: error: for each function it appears in.) ../ruby-1.9/thread_pthread.ci: In function 'rb_thread_create_timer_thread': ../ruby-1.9/thread_pthread.ci:419: error: 'PTHREAD_STACK_MIN' undeclared (first use in this function) *** Error code 1 Stop. make: stopped in /home/gotoyuzo/src/ruby/build-ruby-1.9 > make test-all: > * WEBrick の timeout で固まります。 これは、matzrubyでも同じで、Array#eachの実行中はそのArrayを 変更できなくなったせいです。以下のパッチでどうでしょうか。 Index: lib/webrick/utils.rb =================================================================== --- lib/webrick/utils.rb (revision 11451) +++ lib/webrick/utils.rb (working copy) @@ -124,7 +124,7 @@ while true now = Time.now @timeout_info.each{|thread, ary| - ary.each{|info| + ary.dup.each{|info| time, exception = *info interrupt(thread, info.object_id, exception) if time < now } -- ごとうゆうぞう