diff options
author | Yaohan Chen <yaohan.chen@gmail.com> | 2008-05-28 13:03:00 -0400 |
---|---|---|
committer | Yaohan Chen <yaohan.chen@gmail.com> | 2008-05-28 13:03:00 -0400 |
commit | d3bd37eac4fab5ff553e3b669195b1c950e76ab0 (patch) | |
tree | 0d2e7a076195dfea27fb23a36c147901423faf2d /lib/rbot | |
parent | 973260ba7343198da6074913d3aaee58ad667358 (diff) |
changed m.thread to m.in_thread, with different semantics
m.in_thread indicates that the caller of delegate is in thread (and is handled by
not creating another thread for m's mapped action)
Diffstat (limited to 'lib/rbot')
-rw-r--r-- | lib/rbot/message.rb | 10 | ||||
-rw-r--r-- | lib/rbot/messagemapper.rb | 2 |
2 files changed, 5 insertions, 7 deletions
diff --git a/lib/rbot/message.rb b/lib/rbot/message.rb index ba0d8cc9..fddbef5f 100644 --- a/lib/rbot/message.rb +++ b/lib/rbot/message.rb @@ -132,11 +132,9 @@ module Irc attr_accessor :ignored alias :ignored? :ignored - # should the message handler be excuted in new thread? - # if set to true or false, this overrides :thread option in map. if it's nil, - # the map option takes effect - attr_accessor :thread - alias :thread? :thread + # set this to true if the method that delegates the message is run in a thread + attr_accessor :in_thread + alias :in_thread? :in_thread # instantiate a new Message # bot:: associated bot class @@ -156,7 +154,7 @@ module Irc @replied = false @server = server @ignored = false - @thread = nil + @in_thread = false @identified = false if @msg_wants_id && @server.capabilities[:"identify-msg"] diff --git a/lib/rbot/messagemapper.rb b/lib/rbot/messagemapper.rb index b97253a1..dd43e27c 100644 --- a/lib/rbot/messagemapper.rb +++ b/lib/rbot/messagemapper.rb @@ -207,7 +207,7 @@ class Bot debug "checking auth for #{auth}" if m.bot.auth.allow?(auth, m.source, m.replyto) debug "template match found and auth'd: #{action.inspect} #{options.inspect}" - if m.thread || (m.thread.nil? && tmpl.options[:thread] || tmpl.options[:threaded]) + if !m.in_thread && (tmpl.options[:thread] || tmpl.options[:threaded]) Thread.new do begin @parent.send(action, m, options) |