Not sure if this really is a bug and worth changing, but did surprise me a little. Calling it from post_init works fine.
require 'rubygems'
require 'eventmachine'
class MyServer < EM::Protocols::SmtpServer
def initialize(*args)
super
self.set_comm_inactivity_timeout 240
end
end
EM.run do
EM.start_server "0.0.0.0", 2500, MyServer
end
Throws on connect:
/Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1510:in `set_comm_inactivity_timeout': can't convert nil into String (TypeError)
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1510:in `set_comm_inactivity_timeout'
from duh.rb:7:in `initialize'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1237:in `new'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1235:in `instance_eval'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1235:in `new'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:1074:in `event_callback'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:224:in `run_machine'
from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.0/lib/eventmachine.rb:224:in `run'
from duh.rb:11