summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYaohan Chen <yaohan.chen@gmail.com>2008-05-28 13:03:00 -0400
committerYaohan Chen <yaohan.chen@gmail.com>2008-05-28 13:03:00 -0400
commitd3bd37eac4fab5ff553e3b669195b1c950e76ab0 (patch)
tree0d2e7a076195dfea27fb23a36c147901423faf2d
parent973260ba7343198da6074913d3aaee58ad667358 (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)
-rw-r--r--lib/rbot/message.rb10
-rw-r--r--lib/rbot/messagemapper.rb2
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)