diff options
author | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2014-04-14 14:57:03 -0700 |
---|---|---|
committer | David Vazgenovich Shakaryan <dvshakaryan@gmail.com> | 2014-04-14 14:57:03 -0700 |
commit | 0fee37a63b588d84b4d91e5ad5074ffb71f698a4 (patch) | |
tree | 3ba854e5610ff14d5bdf401313d2e2b6ddccbdb0 /dinobot.rb | |
parent | 64cc3ddcea4c6c45298d6e5e65f6b0c74e4d9b0a (diff) | |
download | dinobot-0fee37a63b588d84b4d91e5ad5074ffb71f698a4.tar.gz dinobot-0fee37a63b588d84b4d91e5ad5074ffb71f698a4.tar.xz |
Multithreading and timeout functionality.
Diffstat (limited to 'dinobot.rb')
-rw-r--r-- | dinobot.rb | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -1,4 +1,5 @@ require 'socket' +require 'timeout' module Dinobot class Bot @@ -44,10 +45,14 @@ module Dinobot str.chomp! puts "<< #{str.inspect}" - begin - parse_line(str) - rescue => e - puts "!! Error parsing line. (#{e})" + Thread.new do + begin + Timeout.timeout(30) do + parse_line(str) + end + rescue => e + puts "!! Error parsing line. (#{e})" + end end end |