とりあえずエラー表示の削除はこれ。
class DefinitionContext
( private_instance_methods +
protected_instance_methods +
public_instance_methods –
[ :instance_eval, :object_id, :__id__, :__send__, :initialize,
:remove_const, :method_missing, :method, :class, :inspect, :to_s,
:instance_variables, :block_given? ]
).
each { |m| undef_method m }
c:/Ruby192/lib/ruby/gems/1.9.1/gems/needle-1.3.0/lib/needle/thread.rb
Thread.criticalが非推奨になったからなんとかしなきゃいけない。
while (Thread.critical = true; @locked)
whileの中が面白い。@lockedの値だけでループの継続処理の判断を行う。
Thread.criticalはイテレータの繰り返し判断の前に毎度繰り返し処理される。
うーん。
とりあえず暫定処置として、@m = Mutex.new をinitialize に加えて、
thread.critical = trueの部分を @m.lock
thread.critical = falseの部分を @m.unlock に変えたけど、これで正しいかどうかは超不安・・・
これで進めます。
[追記]
thread.rb 全然ダメだったから結構書きなおした。
これで正しいかは不明・・・。
てか、なんでオリジナルのQueryableMutexなんて使おうとしてるのかが分からない。
#–
# =============================================================================
# Copyright (c) 2004, Jamis Buck (jamis@37signals.com)
# All rights reserved.
#
# This source file is distributed as part of the Needle dependency injection
# library for Ruby. This file (and the library as a whole) may be used only as
# allowed by either the BSD license, or the Ruby license (or, by association
# with the Ruby license, the GPL). See the “doc” subdirectory of the Needle
# distribution for the texts of these licenses.
#
コメント