diff options
Diffstat (limited to 'lib/mauve/mauve_thread.rb')
-rw-r--r-- | lib/mauve/mauve_thread.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/mauve/mauve_thread.rb b/lib/mauve/mauve_thread.rb index 79e742a..1aa8619 100644 --- a/lib/mauve/mauve_thread.rb +++ b/lib/mauve/mauve_thread.rb @@ -6,6 +6,7 @@ module Mauve class MauveThread def initialize + @thread = nil end def logger @@ -58,7 +59,7 @@ module Mauve end def frozen? - @frozen and @thread.stop? + defined? @frozen and @frozen and @thread.stop? end def thaw @@ -86,6 +87,10 @@ module Mauve @thread.is_a?(Thread) and @thread.alive? end + def stop? + @thread.is_a?(Thread) and @thread.stop? + end + def join(ok_exceptions=[]) @thread.join if @thread.is_a?(Thread) end @@ -94,6 +99,10 @@ module Mauve @thread.raise(ex) end + def backtrace + @thread.backtrace if @thread.is_a?(Thread) + end + def restart self.stop self.start |