]> git.donarmstrong.com Git - biopieces.git/commitdiff
asdfasdr
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Wed, 4 Aug 2010 14:01:26 +0000 (14:01 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Wed, 4 Aug 2010 14:01:26 +0000 (14:01 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1033 74ccb610-7750-0410-82ae-013aeee3265d

code_ruby/Maasha/lib/biopieces.rb

index 6af2ad0fc2768b65cee4067e44f2af39425d816b..171136b854217bc2ed159e7d0f33604b24915b59 100644 (file)
@@ -80,50 +80,6 @@ class Biopieces
     @status.set_tmpdir(path)
     path
   end
-
-  # Stuff to be done at begin such as setting the exit status
-  # and signal handlers
-  def self.do_at_begin
-    status = Status.new
-    status.set
-    exit_status = "OK"
-
-    # Install signal handlers
-    %w( INT TERM QUIT ).each do |signal| 
-      Signal.trap(signal) do
-        exit_status = signal
-        exit
-      end
-    end
-
-    exit_status
-  end
-
-  # Make sure that file streams are closed, tmpdir removed, and
-  # exit status is written to log file.
-  def self.do_at_exit(exit_status)
-    at_exit do
-      begin
-        @in.close  if @in.respond_to?  :close  # FIXME: This can never work
-        @out.close if @out.respond_to? :close  # FIXME: Same
-      rescue Exception => exception
-        $stderr.puts "Exception caught!"   # DEBUG
-        case exit_status
-        when 'INT'  then exit_status = 'INTERRUPTED'
-        when 'TERM' then exit_status = 'TERMINATED'
-        end
-        exit_status = "DIED" unless exit_status =~ /INT|TERM|QUIT/
-        $stderr.puts exit_status
-        $stderr.puts exception.backtrace
-      ensure
-        status = Status.new
-        FileUtils.remove_entry_secure(status.get_tmpdir)
-        status.log(exit_status)
-        status.delete
-        puts "EXIT STATUS: #{exit_status}"
-      end
-    end
-  end
 end
 
 
@@ -628,4 +584,54 @@ class Stream < IO
 end
 
 
+# Stuff to be done at begin such as setting the exit status
+# and signal handlers
+def do_at_begin
+  status = Status.new
+  status.set
+  exit_status = "OK"
+
+  # Install signal handlers
+  %w( INT TERM QUIT ).each do |signal| 
+    Signal.trap(signal) do
+      exit_status = signal
+      exit
+    end
+  end
+
+  exit_status
+end
+
+# Make sure that file streams are closed, tmpdir removed, and
+# exit status is written to log file.
+def do_at_exit(exit_status="OK-martin")
+  at_exit do
+    begin
+      @in.close  if @in.respond_to?  :close  # FIXME: This can never work
+      @out.close if @out.respond_to? :close  # FIXME: Same
+    rescue Exception => exception
+      $stderr.puts "Exception caught!"   # DEBUG
+      case exit_status
+      when 'INT'  then exit_status = 'INTERRUPTED'
+      when 'TERM' then exit_status = 'TERMINATED'
+      end
+      exit_status = "DIED" unless exit_status =~ /INT|TERM|QUIT/
+      $stderr.puts exit_status
+      $stderr.puts exception.backtrace
+    ensure
+      status = Status.new
+      FileUtils.remove_entry_secure(status.get_tmpdir)
+      status.log(exit_status)
+      status.delete
+      puts "EXIT STATUS: #{exit_status}"
+    end
+  end
+end
+
+exit_status = do_at_begin
+
+END {
+  do_at_exit(exit_status)
+}
+
 __END__